Статический анализ

Платформа ошибочно считается статическим анализатором, однако это не так. Классическое использование статических анализаторов выглядит следующим образом

  • ответственный сотрудник запускает анализ качества кода при помощи статического кода

  • запуск анализа происходит время от времени

  • ответственный сотрудник видит замечания статического анализатора, если это делается в первый раз - то на проекте таких замечаний может быть огромное количество

  • ответственный сотрудник закрывает результаты проверки исправив 2-3 критичных замечания

Налицо проблема - процесс статического анализа НЕ находится под управлением

Чтобы исправить указанную проблему успешные и эффективные менеджеры запускают в команде процесс** Code Review **(контроля изменений кода) - такой процесс, когда ведущий разработчик контролирует качество кодирования, указывая замечания по коду с помощью специализированных средств менее профессиональному участнику команды.

В этом случае возникают 3 дополнительных проблемы

  • нельзя четко быть уверенным что ведущий разработчик помнит все стандарты кодирования и обладает максимальным уровнем перфекционизма

  • время ведущего разработчика достаточно дорого, поэтому увеличивается себестоимость проекта, что чаще всего приводит к отказу от Code Review в силу ограниченности сроков проекта и его бюджета

Глоссарий

Важно понимать – какие термины используются в платформе SonarQube, так как авторы Sonar фактически являются изобретателями этой терминологии.

Термин Значение
Непрерывная проверка кода (Continuous Code inspection) Такой процесс, при котором каждое зафиксированное изменение в коде анализируется и сверяется на предмет нарушений правил кодирования, чтобы: Понять список замечаний и ошибок, Понять степень сопровождаемости и запутанности кода, Рассчитать процент дублирования кода, Оценить человеко-часы, необходимые для приведения проекта в порядок, Зафиксировать каждую метрику во времени, чтобы оценить динамику
Проект (Project) Комплект сгруппированных исходных кодов, которые в совокупности определяют собой решение или продукт. Имеет идентификатор, имя и URL-адрес репозитория исходных кодов.
Замечания (Issues) Автоматизировано выявленные недочеты в конкретной строке кода; каждое замечание имеет приоритет и норму времени на исправление согласно правилу, которое было применено к данной строке кода.
Порог качества (Quality Profile) Комплект условий, определенных архитектором, при котором проект считается содержащим критический объем замечаний и недочетов, что не позволяет выпускать продукт или выпускать с предупреждением.
Профиль качества (Quality Profile) Группа стандартов кодирования, сгруппированная по языкам программирования. Может содержать от одного до многих «путей архитектора».
«Путь архитектора» (QA Team Way) Стандарт кодирования, принятый определённым архитектором.
Технический долг (Tech Debt) Метрика, рассчитываемая на основе нормы времени на исправление замечаний, а также на основе количества строк кода и еще нескольких метрик, показывающая количество человеко-часов, которые необходимы для исправления всех замечаний – то есть на рефакторинг. Учитывает также наличие или отсутствие покрытия кода тестами.
Правила (Rules) Атомарная сущность, применяемая для проверки каждой строки кода, содержащая способ проверки, описание способа исправления и норму времени на исправления
Нормирование время для исправления (Minutes to Repair) Количество человеко-минут, необходимое для исправления строки кода в идеальном случае.

results matching ""

    No results matching ""