Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID
в Пошук

usarskyy

І знову про StyleCop

З самого початку думав почати цей пост з слів типу "який я хороший, добрий, мудрий і т.д."... але прийдеться визнати, що я ППЦ який лінивий :))

Як усім уже, мабудь, відомо Microsoft 23 травня цього року виклала в публічний доступ свій Source Analyzer (StyleCop). І все було б просто супер, якщо б не той факт, що всі правила перевірки коду - абсолютно статичні :( Щоб остаточно переконатись в цьому, в день релізу я трохи "погуглив" і натикнувся на цікавий пост, де один з кодерів майкрософта розказував які вони щасливі з своїм Source Analyzer-ом :) Також він писав, що правила у ньому статичні не через "криві руки "... а тому що тільки ці правила можуть принести абсолютне щастя девелоперам які будуть ними керуватись! Одним словом, логіка в його словах проста - "ми щасливі, і вам прийдеться бути щасливими" :)
Так як характер у мене поганий, я погано сприймаю той факт що комусь роблять добре. Тому з допомогою Reflector-а я дизасемблював Source Analyzer і хотів створити свої правила. Проте, все що було після дизасемблювання йшло туго і постійно відкладувалось "на завтра" :( Як результат - фінішна пряма позаду, але перше місце дісталось іншому.

Цього "іншого" і його статтю можна знайти тут. Що я можу сказати..? В пості добре описаний шлях створення custom rules з прикладами, всі хто хотів додати в StyleCop щось своє тепер мають таку можливість :) Думаю, в найближчому майбутньому можна сподіватись на появу Add-In-а який дозволить писати власні правила в конфігураційних файлах і створювати локальне (проте власне!) щастя :)

P.S.: Також раджу зайти сюди. Автор цього поста пробує схрестити StyleCop з ReSharper-ом! І навіть пообіцяв викласти сорси в публічний доступ!
Опубліковані Wednesday, June 04, 2008 8:51 PM від usarskyy
Помічено як: , ,

Коментарі

 

Leshchinsky сказав:

На блоге разработчиков StyleCop'a продолжают публиковаться пояснения к правилам.

Хочу обратить внимание на правило SA1200: UsingDirectivesMustBePlacedWithinNamespace,  которое вызвало вопросы у моих студентов:

"Зачем перемещать директиву using в пределы скоупа namespace?"

"Как это отразится на поведении приложения?"

Пример и разъяснение невыполнения этого правила описано по адресу  http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmustbeplacedwithinnamespace.aspx после его прочтения все вопросы отпадают за исключением одного ..

Почему студия по умолчанию генерирует "тухлый" код?

... ответа там нет ....

Может кто нибуть из вас знает ? :(

June 4, 2008 12:15 PM
 

Leshchinsky сказав:

Возникла дискуссия по поводу пункта

2. Loading References

When using directives are declared outside of a namespace, the .Net Framework will load all assemblies referenced by these using statements at the same time that the referencing assembly is loaded.

However, placing the using statements within a namespace element allows the framework to lazy load the referenced assemblies at runtime. In some cases, if the referencing code is not actually executed, the framework can avoid having to load one or more of the referenced assemblies completely. This follows general best practice rule about lazy loading for performance.

Note, this is subject to change as the .Net Framework evolves, and there are subtle differences between the various versions of the framework.

прошу всех кто имеет материалы по этой тематике кинуть их комментами

June 6, 2008 10:40 AM
 

usarskyy сказав:

я спробував прояснити ситуацію і написав девелоперу який додав опис правила "SA1200", але відповіді так і не отримав :(

June 9, 2008 6:25 AM
 

Leshchinsky сказав:

Антон Палек сегодня дал мне интересную ссылку с блога Scott Hanselman

"Back to Basics - Do namespace using directives affect Assembly Loading?"

в которой обсуждается правило SA1200 ... http://www.hanselman.com/blog/BackToBasicsDoNamespaceUsingDirectivesAffectAssemblyLoading.aspx

Как в этих случаях бывает я ограничусь фразой "никаких комментариев, ждем официального ответа команды разработчиков StyleCop".

Ведь они же чем то руководствовались? ... Ведь это же правило используется при написании кода в самой Майкрософт ? ... :)

July 7, 2008 7:00 AM
 

Leshchinsky сказав:

July 8, 2008 2:42 AM
 

usarskyy сказав:

щоб часом хто не подумав, що я забув (або що гірше замовчую "життєво необхідну" інформацію :) ) про StyleCop, я додам ще один коментар. Я ще 2 рази спробував достукатись хоча б до когось з команди StyleCop-а, але мені ніхто так і не відповів, тому питання генерації студією "тухлого коду" залишається відкритим

July 9, 2008 12:30 PM
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.