Sonar как источник задач для регулярного рефакторинга

Простая и короткая статья. Из серии «на заметку хозяйке».

Есть гибкая система сканирования кода на соответствие правилам, метрикам (полезным, типа цикломатической сложности), и так далее.
Называется Sonar.

Sonar как источник задач для регулярного рефакторинга

Пара скриншотов на живых данных под катом.

Краткий обзор возможностей

  • Поддерживает основные языки (Java, C#, C/C++, Cobol, PL/SQL, ABAP, Javascript, PHP etc)
  • Имеет гибкую настраиваемую систему правил сканирования кода
  • Понимает ООП (цикломатическая сложность, количество уровней наследования, связанность, и так далее)
  • Настраивается за полдня
  • Интегрируется с TeamCity
  • Позволяет видеть изменения после рефакторинга (хранит лог изменений)

Применяется просто
1. Сонар натравливается на проект
2. Даете список самых косячных классов на рефакторинг (да, рефакторинг обязателен и нужно давать на него время, иначе однажды вы, как менеджер проекта, услышите волшебные слова «проще все выбросить и переписать заново» — если у вас смелые и классные программисты, или же просто будут все делать тормозно и с кучей багов в неожиданных местах, если проггеры слабоватые или несмелые). Оно не заменяет codereview, но дополняет.
3. Программисты рефакторит
4. Натравливаете снова и видите дельту.

Общий вид для проектов
Sonar как источник задач для регулярного рефакторинга

Список косяков
Sonar как источник задач для регулярного рефакторинга

Срез между двумя сканами
Sonar как источник задач для регулярного рефакторинга

На Хабре были статьи, но давно, и для Java в основном.

В комментариях предлагаю поделиться средствами автоматизации QA, которые применяете вы у себя.

Автор: Cord

Источник

Обсуждение закрыто.