Русская Википедия:SonarQube
Шаблон:Карточка программы SonarQube (бывший Sonar[1]) — платформа с открытым исходным кодом для непрерывного анализа (Шаблон:Lang-en) и измерения качества программного кода.
Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования MISRA C, MISRA C++, MITRE/CWE и CERT Secure Coding Standards. Также распознаёт ошибки из списков OWASP Топ-10 и CWE/SANS Топ-25 ошибок программирования[2][3].
Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели (Шаблон:Lang-en), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработкиШаблон:Sfn.
Принципы работы
SonarQube измеряет качество программного кода в соответствии с семью показателями (и соответствующими метриками) качества программного обеспечения, которые разработчики называют Шаблон:Lang-enШаблон:Sfn:
- Потенциальные ошибки
- Стиль программирования
- Тесты
- Повторения участков кода
- Комментарии
- Архитектура и проектирование
- Сложность
Таким образом, тесты оцениваются не только с точки зрения успешности исполнения, но и по тестовому покрытию исходного кодаШаблон:Sfn.
Во главу угла в SonarQube поставлено измерение качества в соответствии с концепцией технического долга (Шаблон:Lang-en), реализованное в виде плагина. Долг вычисляется в долларах и человеко-днях, а также по типам показателей, в процентахШаблон:Sfn.
Возможности
SonarQube позволяет анализировать проекты, написанные на разных языках программирования, хотя для каждого делается свой анализ. Анализируемый язык необходимо указывать явным образомШаблон:Sfn.
Открытая версия программы поддерживает следующие плагины[4]:
Для платной версии (Enterprise) доступны плагины[4]:
- ABAP (коммерческий плагин)
- C/C++ (коммерческий плагин)
- C#
- COBOL (коммерческий плагин)
- Delphi
- Flex / ActionScript
- Groovy
- Java
- JavaScript
- Objective-C (коммерческий плагин)
- PHP
- PL/I (коммерческий плагин)
- PL/SQL (коммерческий плагин)
- Python
- Swift (коммерческий плагин)
- VB.NET (коммерческий плагин)
- Visual Basic 6 (коммерческий плагин)
- Web
- XML
C 2016 года для открытой версии SonarQube появился плагин для языка 1С[5].
Примечания
Литература
Шаблон:Compu-soft-stub Шаблон:Стиль