Трябва ли да използвам FxCop и защо?

Работя върху проект в C# .net и WPF. Използваме StyleCop, за да помогнем за внасянето на последователен стил в проекта и след деактивирането на някои правила сме доста доволни от него. Въпреки това съм чувал хора да говорят за FxCop и че това също ще донесе стойност на проекта. Доколкото разбирам, това е по-скоро на основата на структурата на кода..?

Може ли някой да ми даде конкретни причини защо трябва да започнем да използваме FxCop? Кои са най-важните неща, които FxCop ще гарантира, че правим правилно?


person stiank81    schedule 27.01.2010    source източник
comment
Вижте също stackoverflow.com/questions/1867867   -  person andreas    schedule 27.01.2010


Отговори (3)


Той открива някои полезни условия и може да подобри вашия стил на кодиране. Под стил нямам предвид само поставяне на скоби и т.н. Но проблеми като абстрактни класове с публични конструктори и много други специални случаи. Това са дребни неща като тези, които той улавя и след известно време вие ​​ги правите автоматично.

Стартирането на нов проект с него е лесно, използването му със съществуващ проект е по-трудно, тъй като ще открие повече проблеми. Струва си да се отбележи, че първо ще трябва да конфигурирате FxCop, тъй като той ще посочи тривиални неща, които може да не са от значение.

person Finglas    schedule 27.01.2010
comment
Първо всички правила ли са активни и след това можете да деактивирате тези, които не искате? Като StyleCop..? - person stiank81; 27.01.2010

FxCop работи върху компилирани двоични файлове, докато StyleCop анализира изходния код директно.

Може би бихте могли да го използвате, за да проверите дали компилиран сборник, като този, който изпращате на вашата QA/производствена среда, съответства на фирмените ви политики, ако някой се опита да заобиколи вашите правила на StyleCop.

person Rubens Farias    schedule 27.01.2010
comment
Искате да кажете, че използва много от същите правила като StyleCop, но вместо това проверява това на компилирани двоични файлове? - person stiank81; 27.01.2010
comment
Имам предвид; Мисля, че FxCop провери и някои напълно различни правила. - person stiank81; 27.01.2010
comment
Да, защото има различна информация; въпреки че някои правила са общи за двата инструмента, можете да получите част от информацията от изходния код, а друга информация може да бъде получена само от сборници. - person Rubens Farias; 27.01.2010

Ползвам го, в комбинация с CC.NET. Това означава, че всеки път, когато CC.NET създава моя проект, той също така извършва FxCop анализ, който може да бъде доста удобен, тъй като:

  • открива неизползвани променливи
  • открива неизползвани методи
  • дава ви индикация дали сте написали грешно дума
  • ви помага да напомните, че трябва да подадете formatprovider към извикване на ToString() f.i.

Накратко: помага ви да подобрите качеството на вашия код.

person Frederik Gheysels    schedule 27.01.2010