Pull to refresh

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

Reading time 1 min
Views 24K
Простая и короткая статья. Из серии «на заметку хозяйке».

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



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


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


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

Общий вид для проектов


Список косяков


Срез между двумя сканами


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

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

Articles