#visual-studio #add-in #code-metrics
#visual-studio #надстройка #код-показатели
Вопрос:
Существуют ли какие-либо инструменты, доступные для Visual Studio, которые могут информировать программиста о состоянии показателей кода «на лету», например, во время написания кода (например, в виде светофора)?
Комментарии:
1. Что это за показатели? Покрытие модульным тестированием? Сложность?
2. @vcjones: любой вид; цикломатическая сложность, зависимости, количество строк и т.д.
3. @Santa: плохой код = код, который получает низкую оценку показателей кода, смотрите Примеры: msdn.microsoft.com/en-us/library/bb385914.aspx
Ответ №1:
Попробуйте инструмент NDepend. Он интегрирован в версии 2012, 2010, 2008 и поставляется с 82 метриками кода, перечисленными здесь: http://www.ndepend.com/Metrics.aspx
Инструмент поставляется с набором из примерно 200 предопределенных (и настраиваемых) правил кода, определенных в запросах LINQ, некоторые из них основаны на этих показателях кода, например:
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where
m.CyclomaticComplexity > 20 ||
m.ILCyclomaticComplexity > 40 ||
m.ILNestingDepth > 5
orderby m.CyclomaticComplexity descending,
m.ILCyclomaticComplexity descending,
m.ILNestingDepth descending
select new { m, m.CyclomaticComplexity,
m.ILCyclomaticComplexity,
m.ILNestingDepth }
Инструмент можно настроить таким образом, чтобы правила проверялись каждый раз, когда разработчик повторно компилирует проект или решение. И действительно, красный / желтый / зеленый светофор используется для указания того, нарушены ли некоторые правила (нарушено правило => желтый, нарушены критические правила => красный):
Комментарии:
1. Кажется, это в значительной степени то, что я ищу. Спасибо!
Ответ №2:
Взгляните на JetBrains’ (http://www.jetbrains.com ) Resharper и его плагины.
Ответ №3:
В зависимости от вашей версии VS, вы можете попробовать FxCop