Что такое анализ кода с помощью помощника по обновлению .NET?
В этой статье представлен обзор функции анализа кода помощника по обновлению .NET. Анализ кода создает отчет на основе конфигурации проекта, зависимостей и кода. В отчете содержатся сведения о потенциальных проблемах и проблемах, которые могут возникнуть во время обновления, и о том, какие действия можно предпринять для устранения этих проблем.
Типы анализа
Существует два типа анализа, которые можно выполнить в коде:
Исходный код и параметры
Анализирует исходный код, конфигурацию и параметры.
Двоичные зависимости
Анализирует внешние двоичные зависимости (например, пакеты NuGet) для проектов.
Отчеты
Отчет панели мониторинга создается после завершения анализа. Этот отчет разбивает результаты по проектам, файлам, инцидентам и точкам истории. Также доступно статистическое представление, чтобы группировать подобные проблемы независимо от того, в каком проекте они были обнаружены.
Совет
Точки истории — это концепция Agile, которая помогает оценить сложность и усилия, необходимые для устранения проблемы. Дополнительные сведения см. в разделе "Точки истории инцидента".
Каждая проблема в отчете классифицируется по серьезности , чтобы помочь вам в определении приоритетов любых исправлений, необходимых для выполнения. Проблемы являются обязательными или необязательными. Обязательные проблемы блокируют обновление. Необязательные проблемы предоставляют возможность обновления до более новой функции, библиотеки или улучшения кода.
В следующих разделах подробно описаны области отчета.
Панель мониторинга
На странице панели мониторинга представлено представление инцидентов, обнаруженных сканированием, сгруппированных на панели:
Сводка
Проекты
Это число проектов, в которых обнаружен инцидент.
Проблемы
Количество уникальных правил, активированных во время проверки. Каждая проблема имеет собственную серьезность и точку истории, а также каждый обнаруженный экземпляр (инцидент).
Инциденты
Инцидент — это экземпляр обнаруженной проблемы в определенном расположении, например фрагмент кода или двоичного файла. Каждый инцидент содержит контекстную информацию, которая вызвала проблему.
Точки истории
Общее количество точек истории, необходимых для завершения обновления. Дополнительные сведения о том, что такое история, см. в разделе "Точки истории инцидента".
Серьезность и категории
На этих двух панелях показаны диаграммы, которые группирует инциденты по серьезности и категории. Дополнительные сведения о серьезности см. в разделе "Серьезность инцидента".
Проекты
Страница "Проекты" разбивает проблемы, инциденты и точки истории по проекту. Каждый проект — это ссылка, которая открывает отчет детализации, отфильтрованный в этом проекте.
Агрегатные проблемы
Страница "Агрегатные проблемы" содержит сведения о каждой проблеме, которая была активирована. Каждая проблема может быть расширена для перечисления каждого инцидента этой проблемы. Столбец "Состояние" помогает отслеживать проблемы, которые были исправлены или признаны неприменимыми.
Серьезность инцидентов
Каждый инцидент проблемы имеет связанную серьезность, которая может заблокировать обновление. Серьезность помогает понять, что необходимо обновить для успешного обновления.
Статус | Description |
---|---|
Обязательно | Необходимо устранить проблему. Процесс обновления может обрабатывать эти проблемы, например обновление целевой среды выполнения платформы (TFM). |
Необязательно | Они не должны представлять проблему при обновлении, но вы можете рассмотреть возможность их устранения до или после обновления. |
Потенциальный | Проблемы, которые могут вызвать проблему после обновления, если вы их сейчас не устраняют. |
Информация | Дополнительные сведения, связанные с обновлением. |
Точки истории инцидента
Каждый инцидент проблемы имеет связанную историю. Точка истории — это единица измерения для оценки сложности инцидента, которая помогает оценить время, связанное с решением этого инцидента. Помощник по обновлению .NET определяет значения точек истории в следующей таблице:
Баллы истории | Размер |
---|---|
1 | Простейший. |
3 | Complex |
5 | Перепроектирование |
7 | Задний тектуры |
13 | Неизвестно |