Мое рабочее место

Отправной точкой, альфой и омегой моего рабочего места выступает ноутбук. К ноутбуку присоединен второй, он же первый, монитор. Операционная система Vista Home - шла вместе с ноутом. Устоявшаяся точка зрения, что это некомильфо и моветон, но я не поменял операциоку. С теми задачами, которые сейчас стоят перед системой, она справляется. А большую часть времени перед ней стоят ровно две задачи: первая - Visual Studio, вторая - вьюверы RAdmin-а. И это все.

Оставшиеся два компа - стационарные писюки. И они нужны для всего остального.

Один из них всегда висит во вьювере RAdmin-a на ноуте и через него делаются остальные задачки и ништяки: хождение в инет (вот и эту заметку пишу так), аська, CruiseControl Tray, Download Master и прочие мелочевки и свистульки висят и крутятся на нем. Недостаток в таком разделении для меня ровно один - асечные сообщения я вижу не сразу, а только когда переключаюсь на этот комп. И то, только потому, что за практической ненадобностью я утащил домой колонки. А так бы и этого недостатка не было.

Второй комп выделен под VMWare. Здесь происходит проверка рабочего материала на работоспособность под разными осями. Плюc на предмет полезности тестируется всякая экзотика перед установкой на первый писюк. Опять же, триал-версии падают сюда. Плюс иногда, в порыве любопытства, я устанавливаю здесь и смотрю как же выглядит очередной линукс.

Беглый взгляд на генераторы кода

GeneratorStudio - открытый проект генератора кода на основе движка NVelocity. Занимается генерированием кода и скриптов из существующей базы данных.

NConstruct - платный, есть Lite версия.

CodeSmith - широко известный в узких кругах платный генератор кода.

T4 - технология от Mictosoft, позволяющая генерировать код в Visual Studio.

Visual Studio Vibrant Ink Scheme

NVelocity

svn checkout http://sv-littleprojects.googlecode.com/svn/trunk/ sv-littleprojects-read-only

http://using.castleproject.org/display/Contrib/Castle+Visual+Studio+Integration

Как тестировать internal классы или пару слов о дружественных сборках


В отличии от тестирования закрытых методов, в случае с тестированием internal методов и классов вы не отягощены плясками вприсядку вокруг reflection или создания тестовых методов в основном коде.

Достаточно подружить тестируемую сборку с помощью атрибута InternalsVisibleToAttribute, в качестве дружественной сборки указав сборку в которой находятся тесты. Подробные пояснения о том как это делать можно получить в справке по ключевым словам "friend assemblies".

Как тестировать private и protected методы?




Следуя общей концепции TDD тестировать закрытые методы не нужно и даже вредно. Но в некоторых случаях такое желание возникает. Посчитайте до 12 и постарайтесь это желание подавить. Если и после этого вы все еще хотите протестировать закрытую функциональность своего класса, то хороший ответ о том, как это сделать дан здесь.

Business Logic Toolkit for .NET

Business Logic Toolkit - набор компонентов для упрощения разработки .Net приложений. Распространяется с открытым исходным кодом, который можно использовать "как есть" или модифицировать для нужд своего приложения. BLToolkit написан на C# и совместим с .NET Framework 2.0, 3.0, 3.5.

Microsoft FxCop

FxCop предоставляет средства автоматической проверки .NET-сборок на предмет соответствия правилам Microsoft .NET Framework Design Guidelines. Откомпилированный код проверяется с помощью механизмов рефлексии, парсинга MSIL и анализа графа вызовов. В результате FxCop способен обнаружить более 200 недочетов (или ошибок) в следующих областях:

- Архитектура библиотеки
- Локализация
- Правила именования
- Производительность
- Безопасность

FxCop предусматривает возможность создания собственных правил с помощью специального SDK.

FxCop может работать как в своем графическом интерфейсе, так в командной строке.

Microsoft StyleCop: Source Code Analysis for C#

Анализатор кода C# на предмет вы выполнения стилистических правил. StyleCop выполняется как в IDE среде, так и в MSBuild.

Profiler in VS2008

Статьи о функциональных возможностях профайлера от Visual Studio Profiler Team Blog

IanWho расказывает о Hotpath