Самый быстрый способ повысить продуктивность работы с VS 08 и C#

StackOverflow https://stackoverflow.com/questions/161184

Вопрос

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

Это было полезно?

Решение

Что касается освоения C#, я очень рекомендую Программирование на С# и C# в деталях.

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

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

Проекты:

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

Отладка:

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

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

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

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

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

Управления источником:

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

Рефакторинг и др.:

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

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

  • Узнайте, как правильно использовать дизайнер для Интернета и WinForms.
  • Ознакомьтесь с окном Solution Explorer.
  • Поэкспериментируйте с различными макетами окон, пока не найдете тот, который вам удобен. Продолжайте экспериментировать позже, чтобы увидеть, является ли это по-прежнему лучшим выбором.
  • Изучите все тонкости intellisense и используйте его в своих интересах как можно больше.
  • Изучите сочетания клавиш для всего, что вы делаете

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обычно вы изучаете следующий язык, сравнивая его особенности с языками, которые вы уже знаете.Поскольку вы знакомы с Python, прочитайте некоторые сравнения Python и C#, например «Взгляд программиста Python на C#» и «Превосходит ли C# 3.0 динамические языки в их собственной игре?».Разница между C# 3.5 и Python не так уж велика.

Делайте небольшие мини-проекты.Кое-что из верхней части моей головы.

1) Привет, мир
2) Консоль
3) Дизайн графического интерфейса
4) Игрушечный проект

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

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

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

Рекомендую посмотреть серию видео «Как я?».

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

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

Для любого инструмента, системы, языка или чего-то еще самый быстрый способ добиться продуктивности — это (по крайней мере, для меня) понять суть, а не начинать с «Hello World», а затем спотыкаться от одной команды к следующей, которая, по вашему мнению, вам нужна.

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

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

Затем – через неделю-две – приступайте к программированию.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top