Відповіді:
Stylecop - це інструмент аналізу стилів, який працює на рівні вихідного коду. Він існує в першу чергу для забезпечення єдиного загального стилю, який керовані проекти можуть використовувати, щоб залишатися послідовними у великому світі керованого програмного забезпечення. Він приймає рішення щодо стилю, в першу чергу, щоб уникнути священних воєн (врешті-решт, стиль майже завжди є суб'єктивною суттю). Не думаю, що я коли-небудь зустрічав когось, кому подобалися всі правила StyleCop, але це нормально . Це означає, що StyleCop - це загалом хороший компроміс серед величезного набору існуючих рекомендацій щодо стилю. (Якби правила stylecop були дуже настроюваними, крім простого їх увімкнення / вимкнення, це призвело б до поразки цілі інструменту).
З іншого боку, FxCop - це інструмент статичного аналізу, який працює на рівні керованої збірки. Йому можна давати вказівки через атрибути, оскільки він може бачити атрибути на елементах коду, наприклад. Він виявляє проблеми, які можна побачити на "двійковому" рівні (як би) на відміну від синтаксичного рівня.
Щоб відповісти на ваше запитання, StyleCop не замінює FxCop, а FxCop не витісняє stylecop. Це два різні інструменти з двома різними цілями, які можуть забезпечити реальну користь для вашого коду.
(AKA, я бігаю з обома. :))
Кілька прикладів того, що може виявити один, порівняно з тим, що може виявити інший:
Порушення StyleCop можуть включати попередження, пов’язані з: пробілами, форматуванням, документацією загальнодоступних методів через xml-коментарі, порядком визначення методу в класі.
Порушення FxCop можуть включати попередження, пов’язані з: Глобалізацією, тісним зв’язком, цикломатичною складністю, потенційними нульовими посиланнями.
stylecop працює з вихідним кодом на C #. fxcop переглядає ваш скомпільований код з будь-якої мови .net.
Альтернативою або хорошим доповненням до FxCop / StyleCop було б використання комерційного інструменту NDepend . За допомогою цього інструменту можна писати правило коду над запитами LINQ (а саме CQLinq) . Застереження: Я є одним із розробників інструменту
Більш 200 правил коди пропонується за замовчуванням, вони включають в себе дизайн , архітектуру , якість коду , еволюцію коди , угоди про іменах , мертвий код , використання .NET Fx ...
CQLinq призначений для написання правил коду, які можна перевірити в реальному часі у Visual Studio , або які можна перевірити під час побудови та повідомити у звіті HTML / javascript .
Сила CQLinq перед FxCop або StyleCop полягає в тому, що писати правило коду і отримувати негайно результати просто. Пропонуються засоби для перегляду відповідних елементів коду. Конкретно це виглядає так:
FXCop проводить статичний аналіз коду ваших керованих збірок коду. Подумайте про це як про пошук проблем, які спричинять проблеми під час виконання або які впливатимуть на те, як розробник вважає, що код працюватиме (недосяжний код).
StyleCop аналізує структуру коду з текстової точки зору. Подумайте про це як про проблеми, які вплинуть на ваш досвід розробки та проектування (форматування, правила імен, документація)
Вони обидва ДУЖЕ цінні інструменти, і вам слід використовувати обидва, але вони зосереджуються на різних проблемах.
StyleCop виконує аналіз вихідного коду не дуже налаштовується. Насправді це не те саме, що FxCop, який аналізує складений код.
Статті у Вікіпедії, присвячені цим, дають хороші короткі виклади відмінностей: