Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возросшая сложность современных программных приложений также увеличивает сложность обеспечения надежности и удобства обслуживания кода. Метрики кода — это набор программных показателей, которые позволяют разработчикам лучше понять код, который они разрабатывают. Используя метрики кода, разработчики могут понять, какие типы или методы следует переработать или более тщательно протестировать. Команды разработчиков могут выявлять потенциальные риски, понимать текущее состояние проекта и отслеживать ход разработки программного обеспечения.
Разработчики могут использовать Visual Studio для создания данных метрик кода, которые измеряют сложность и удобство обслуживания управляемого кода. Данные метрик кода могут быть сгенерированы для всего решения или отдельного проекта.
Сведения о создании данных метрик кода в Visual Studio см. в разделе Как создать данные метрик кода.
Программные измерения
В следующем списке показаны результаты метрик кода, которые вычисляет Visual Studio:
Индекс поддерживаемости — вычисляет значение индекса от 0 до 100, которое представляет относительную простоту обслуживания кода. Высокая стоимость означает лучшую ремонтопригодность. Оценки с цветовой кодировкой можно использовать для быстрого выявления проблемных мест в коде. Зеленый рейтинг находится в диапазоне от 20 до 100 и указывает на то, что код имеет хорошую ремонтопригодность. Желтый рейтинг находится в диапазоне от 10 до 19 и указывает на то, что код умеренно пригоден в обслуживании. Красный рейтинг — это рейтинг от 0 до 9, который указывает на низкую ремонтопригодность. Дополнительные сведения см. в разделе Диапазон и значение индекса ремонтопригодности.
Цикломатическая сложность — измеряет структурную сложность кода. Он создается путем вычисления количества различных путей кода в потоке программы. Программа со сложным потоком управления требует большего количества тестов для достижения хорошего покрытия кода и менее удобна в обслуживании. Для получения дополнительной информации см. раздел Цикломатическая сложность.
Глубина наследования — указывает количество различных классов, которые наследуются друг от друга, вплоть до базового класса. Глубина наследования похожа на связывание классов в том, что изменение в базовом классе может повлиять на любой из его унаследованных классов. Чем выше это число, тем глубже наследование и тем выше вероятность того, что изменения базового класса приведут к критическому изменению. Для глубины наследования низкое значение — это хорошо, а высокое — плохо. Дополнительные сведения см. в разделе Глубина наследования.
Связывание классов — измеряет связь с уникальными классами с помощью параметров, локальных переменных, возвращаемых типов, вызовов методов, общих экземпляров или экземпляров шаблонов, базовых классов, реализаций интерфейсов, полей, определенных во внешних типах, и оформления атрибутов. Хороший дизайн программного обеспечения требует, чтобы типы и методы обладали высокой связностью и низкой взаимосвязанностью. Высокая связанность указывает на конструкцию, которую трудно повторно использовать и обслуживать из-за ее многочисленных взаимозависимостей от других типов. Дополнительные сведения см. в разделе Связывание классов.
Строки исходного кода — указывает точное количество строк исходного кода, присутствующих в исходном файле, включая пустые строки. Эта метрика доступна, начиная с Visual Studio 2019 версии 16.4 и Microsoft.CodeAnalysis.Metrics (2.9.5).
Строки исполняемого кода — указывает приблизительное количество строк исполняемого кода или операций. Это количество операций в исполняемом коде. Эта метрика доступна, начиная с Visual Studio 2019 версии 16.4 и Microsoft.CodeAnalysis.Metrics (2.9.5). Значение обычно близко соответствует предыдущей метрике, Lines of Code, которая является метрикой на основе инструкций MSIL, используемой в устаревшем режиме.
Анонимные методы
Анонимный метод — это просто метод, у которого нет имени. Анонимные методы чаще всего используются для передачи блока кода в качестве параметра делегата. Результаты метрик кода для анонимного метода, объявленного в члене, таком как метод или метод доступа, связаны с членом, объявляющим метод. Они не связаны с членом, вызывающим метод.
Созданный код
Некоторые программные средства и компиляторы генерируют код, который добавляется в проект и который разработчик проекта либо не видит, либо не должен изменять. В большинстве случаев Code Metrics игнорирует созданный код при вычислении значений метрик. Это позволяет значениям метрик отражать то, что разработчик может видеть и изменять.
Код, созданный для Windows Forms, не игнорируется, так как это код, который разработчик может видеть и изменять.