Самый быстрый способ стать продуктивным в VS 08 и C # - PullRequest
3 голосов
/ 02 октября 2008

Я недавно работал с Python, используя Komodo Edit и другие более простые редакторы, но сейчас я делаю проект, который должен быть выполнен в C # с использованием VS 08. Я был бы признателен за любые советы о том, как продуктивно работать на этой платформе так же быстро насколько возможно.

Ответы [ 11 ]

11 голосов
/ 02 октября 2008

Для того, чтобы стать опытным с C #, я очень рекомендую Программирование на C # и C # в глубину .

Для Visual Studio, начните много поковыряться в IDE, поиграйтесь, познакомьтесь с ним. Начните с простых проектов и исследуйте все различные аспекты. Узнайте, как оптимизировать Visual Studio и познакомиться с некоторыми из замечательных сочетаний клавиш / скрытых функций в среде IDE.

Определенно выполните каждое из следующих действий хотя бы один раз:

Проекты:

  • Создание простого консольного приложения (например, hello world)
  • Создайте библиотеку классов (управляемую .dll) и используйте ее из другого приложения, которое вы создаете
  • Создание простого приложения для Windows
  • Создание простого веб-приложения asp.net

Debugging:

  • Отладка приложения командной строки
  • Познакомьтесь с: контрольными точками, местными жителями и окнами наблюдения, шаг за шагом, шаг, выход, продолжение, прекратить отладку
  • Создать приложение командной строки, которое использует функцию из библиотеки классов. Сохраните файл библиотеки DLL и символов (.pdb) для библиотеки, но удалите исходный код, выполните отладку через приложение, когда оно входит в библиотеку
  • Отладка в веб-сервис
  • Узнайте, как использовать ILDasm и ILAsm

Командная строка:

  • Познакомьтесь со средой командной строки Visual Studio
  • Сборка с использованием только командной строки
  • Отладка из командной строки с использованием devenv.exe / debugexe
  • Используйте ILDasm / ILAsm из командной строки, чтобы разобрать простое приложение в .IL, собрать его в файл с другим именем, проверить, чтобы оно все еще работало

Тестирование:

  • Создание модульных тестов (щелкните правой кнопкой мыши метод, выберите параметр для создания теста)
  • Узнайте, как: запускать все модульные тесты, запускать все модульные тесты в отладчике, повторно запускать неудачные модульные тесты, смотреть подробности о неудачных тестах, запускать подмножество модульных тестов
  • Узнайте, как собирать статистику покрытия кода для ваших тестов

Контроль источника:

  • Узнайте, как взаимодействовать с выбранной системой контроля версий при разработке с использованием VS

Refactoring et al:

  • Познакомьтесь со всеми встроенными рефакторингами (особенно метод переименования и извлечения)
  • Использовать «Перейти к определению»
  • Использовать «Найти все ссылки»
  • Использовать «Поиск в файлах» (ctrl-shift-F)

IDE и сочетания клавиш:

  • Узнайте, как правильно использовать дизайнер для веб-страниц и winforms
  • Познакомьтесь с окном Solution Explorer
  • Экспериментируйте с различными макетами окон, пока не найдете подходящий вариант, продолжайте экспериментировать позже, чтобы убедиться, что это лучший выбор
  • Изучите все подробности intellisense, максимально используйте его в своих интересах
  • Изучите сочетание клавиш для всего, что вы делаете
8 голосов
/ 02 октября 2008

Я бы лично сосредоточился на изучении основных частей как C #, так и .NET. Для меня это означало бы написание консольных приложений (а не Windows Forms) для экспериментов с языком и такими важными аспектами, как IO. Когда вы довольны основами, переходите на любую «периферийную» технологию (WinForms, WPF, ASP.NET, WCF и т. Д.), Которая вам нужна для вашего проекта.

Что касается книг, я могу порекомендовать C # 3.0 в двух словах и Accelerated C # 2008 . Ссылки на мои обзоры книг. Оба охватывают язык + основные библиотеки. Я бы не стал слишком сильно беспокоиться о LINQ, прежде чем приступить к работе с LINQ, освоитесь с остальным языком, особенно с делегатами и обобщениями. На этом этапе я бы тщательно рекомендовал поиграть с LINQ to Objects довольно долго, прежде чем вы начнете использовать LINQ to SQL или Entity Framework. (С другой стороны, если вам вообще нужно использовать XML, я бы сразу обратился к LINQ to XML - это целый XML API, а не просто поставщик LINQ. Он намного лучше, чем обычный DOM API.)

3 голосов
/ 02 октября 2008

Буду признателен за любые советы о том, как стать продуктивным на этой платформе, как как можно быстрее.

Практический опыт, друг мой. Начните используя его как можно скорее , чтобы быть продуктивным как можно скорее .

Вот некоторые очевидные рекомендации:

  • создавать ярлыки \ макросы \ шаблоны для частых действий. Принудительно самостоятельно используйте ярлыки вместо нажатия на меню
  • установите ReSharper - он даст вам повышение производительности на 1000% (если у вас есть пара долларов на его покупку)

И не стесняйтесь время от времени заглядывать в руководство :)

3 голосов
/ 02 октября 2008

Выберите проект Python, который вы завершили в прошлом, и вручную конвертируйте его в C #. Так я выучил все языки, которые знаю на данный момент (кроме ассемблера x86).

Подумайте об использовании IronPython, чтобы помочь преодолеть разрыв - вы можете ссылаться на сборки .NET через IronPython, а также создавать сборки .NET для ссылки из C #.

Кроме того, оставайтесь очень далеко от этих Изучайте C # за 21 день! книг ... Они почти никогда не соответствуют обману и обычно приносят больше вреда, чем пользы.

1 голос
/ 02 октября 2008

Переход с Python на C #

Обычно вы изучаете следующий язык, сравнивая его возможности с языками, которые вы уже знаете. Так как вы знакомы с Python, прочитайте некоторые сравнения Python / C #, такие как "Перспектива программиста Python на C #" и "Превосходит ли C # 3.0 динамические языки в собственной игре?" Дельта между C # 3.5 и Python не такая большая.

1 голос
/ 02 октября 2008

Я смотрю на переход от Python к C # как на шаг вниз по эволюционной лестнице. Ожидайте гораздо более подробный опыт (например, объявления переменных и свойства класса).

Следите за IronPython - это поможет вам почувствовать .NET, используя знакомый язык. Динамическая природа Python делает проверку поведения .NET намного быстрее, чем проверку идей в C #. Вы можете использовать IronPython напрямую из Visual Studio с IronPython Studio .

1 голос
/ 02 октября 2008

Получить отличную книгу и начать читать. У меня Pro C # 2008 и платформа .NET 3.5 .

Поскольку у вас есть проект для работы, он также должен сильно помочь.

0 голосов
/ 02 октября 2008

Для каждого инструмента, системы, языка или чего бы то ни было, самый быстрый способ стать продуктивным - это (по крайней мере, для меня) понять фон, а не начинать с hello world, а затем переходить от одной команды к следующей, которую вы считаете нужной необходимо.

Так что купите хорошую книгу (например, Microsoft Press) или зайдите в Microsoft MSDN и Technet и прочитайте как можно больше материала. Подробная информация (в книге или в Интернете) может быть передана позже.

Дополнительно - для повышения производительности - присоединяйтесь к спискам рассылки, IRC, группам пользователей и т. Д., Чтобы получать знания о повседневных проблемах других людей, используя тот же инструмент, систему, язык и т. Д.

Затем - через неделю или две - начать программирование.

Я знаю, это не то, что нужно делать, начиная с нового языка. Но для меня этот apporach работает лучше всего в последние годы.

0 голосов
/ 02 октября 2008

Я бы посчитал это зависимым от нескольких вещей. Например, вы используете клавиатуру больше, чем мышь? Если это так, я бы изучил ярлыки VS. Вы вообще знаете C #? Прочитайте несколько книг. Я знаю, что это расплывчато, но это несколько расплывчатый вопрос.

Практикуйтесь, практикуйтесь, практикуйтесь, приобретайте опыт, становитесь продуктивными.

0 голосов
/ 02 октября 2008

У Microsoft есть хорошая обучающая платформа для этого:

http://msdn.microsoft.com/en-us/vcsharp/aa336766.aspx

Рекомендую посмотреть серию видео "Как мне".

...