11 июля 2011 г.

Hello World на C# или удобные инструментами для разработке ПО.

coding

Я очень долго программировал микроконтроллеры и производил разработку электронных штуковин. Но вот совсем недавно мне довелось попробовать программировать на большом брате микроконтроллера, для обычного настольного компьютера. И вот понеслось: выбор осваиваемой платформы, покупки книг и изучение правильного построения программ, участие в одном проекте на добрых началах, а вот теперь и записи у себя в блоге. Но все же сейчас я хотел бы поделиться с Вами дорогие читатели не историей как я начал программировать на C#, рассказать какими инструментами я пользуюсь в работе.
А начал я вот с этой программы Улыбка

// Hello1.cs
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}
Hello, World!

Выбор платформы .Net произошел из-за огромных изначальных возможностей и множества библиотек скажем так из коробки (как потом выяснилось что не все возможности из коробки так хороши как казалось на первый взгляд – но это совсем другая история), а так же возможности создавать продукт сразу же как начал программировать (в микроконтроллерах нужно было создавать и инструмент и продукт что бы получилось коммерческое решение).
Как оказалось для платформы .NET существует множество инструментов которые помогают в разработке:


  1. Microsoft Visual Studio 2010 – это один из сильнейших IDE которые я когда либо встречал. В 10 версии была введена система дополнительных плагинов которые расширяют и без того огромные возможности. Существует бесплатная Express версия с ограниченными возможностями, но которая позволяет полноценно начать разработку на платформе .NET
  2. ReSharper продукт от компании JetBrains который позволяет очень продуктивно управлять кодом проекта. Мне очень понравилось что R# следит за всем кодом который я генерирую и сразу же отмечает что ему не очень нравиться, например именование переменных или методов, предложение имени переменной в зависимости от типа и множество других полезных плюшек. Забыл упомянуть встроенную поддержку запуска тестов Nunit и MSTest. Наверное единственным недостатком R# является его платность Подмигивающая рожица.
  3. ILSpy программа для просмотра IL кода. Изначально для подглядывания в чужие решения пробовал .NET Reflector, но он к сожалению стал платным поэтому пришлось искать альтернативы это были dotPeek от JetBrains и ILSpy оба бесплатны. Пока мой выбор пал на ILSpy потому что он умеет показывать мета комментарии, а у dotPeek я такой возможности не нашел.
  4. Расширения Visual Studio 2010:
    Начну со своей слабости с различного рода украшений, у VS2010 без этого тоже не обошлось

    • Visual Studio Color Theme Editor – расширение для управления цветовым оформлением форм Visual Studio 2010.
    • Visual Studio Background Customizer – расширение для управления узора фона главного окна Visual Studio. 
    • Go To Definition – переход к определению типа или класса по Ctrl + click. 
    • Gradient Selection – расширение которое выделение участка кода оформляет в виде градиента. 
    • ItalicComments – наглядное выделение комментариев курсивом.
    • Highlight all occurrences of selected word – расширение для подсветки в тексте всех участков текста соответствующих  выделенному.
    • Indent Guides – расширение добавляющее пунктирную линию между скобками одного блока кода.
    • Productivity Power Tools – расширение-комбайн с множеством различных улучшений по управлению проектом и решением. Это и автодополнение открывающих и закрывающих скобок, управление закладками открытых файлов, и Solution Navigator и множество других возможностей.
    • VS10x Code Map – дополнительна панель которая позволяет очень быстро переходить между методами и свойствами класса, а так же очень наглядно отображает структуру класса.
Уважаемые читатели если у Вы знаете какие либо неупомянутые, но удобные инструменты разработки то милости прошу в комментарии. Если у меня в работе появятся еще какие либо новые и удобные программы то обязательно дополню топик.

Для подсветки синтаксиса C# применил библиотеку SyntaxHighlighter.
Огромная благодарность автору.