Меню
Главная
Случайная статья
Настройки
|
SonarQube (бывший Sonar[1]) — платформа с открытым исходным кодом для непрерывного анализа (англ. continuous inspection) и измерения качества программного кода (англ. Continuous Code Inspection).
Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования MISRA C, MISRA C++, MITRE/CWE и CERT Secure Coding Standards. Также распознаёт ошибки из списков OWASP Топ-10 и CWE/SANS Топ-25 ошибок программирования[2][3].
Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели (англ. dashboard), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработки[4].
Содержание
Принципы работы
SonarQube измеряет качество программного кода в соответствии с семью показателями (и соответствующими метриками) качества программного обеспечения, которые разработчики называют "Семью осями качества" (англ. Seven Axes of Quality)[5]:
Таким образом, тесты оцениваются не только с точки зрения успешности исполнения, но и по тестовому покрытию исходного кода[6].
Во главу угла в SonarQube поставлено измерение качества в соответствии с концепцией технического долга (англ. technical debt), реализованное в виде плагина. Долг вычисляется в долларах и человеко-днях, а также по типам показателей, в процентах[7].
Возможности
SonarQube позволяет анализировать проекты, написанные на разных языках программирования, хотя для каждого делается свой анализ. Анализируемый язык необходимо указывать явным образом[8].
Бесплатная версия программы поддерживает различные языки программирования, сценариев или разметки: Java, C Sharp, JavaScript/TypeScript, AWS CloudFormation, Terraform, Docker, Kubernetes, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, Visual Basic .NET[9]. Версия для разработчиков дополнительно поддерживает C, C++, Objective-C, Swift, ABAP, Transact-SQL и PL/SQL[10]. Корпоративная версия отличается поддержкой Cobol, PL/I, Apex, RPG и Visual Basic 6[11].
Примечания
- Sonar becomes the SonarQube platform | SonarSource . www.sonarsource.com. Дата обращения: 13 января 2016. Архивировано из оригинала 21 февраля 2016 года.
- Tags - SonarQube Documentation - SonarQube . docs.sonarqube.org. Дата обращения: 14 января 2016. Архивировано из оригинала 30 октября 2015 года.
- Rules - SonarQube . nemo.sonarqube.org. Дата обращения: 14 января 2016. Архивировано из оригинала 24 октября 2015 года.
- Campbell, Papapetrou, 2013, 1.1.1. Proven technologies.
- Campbell, Papapetrou, 2013, 1.3. Seven Axes of Quality.
- Campbell, Papapetrou, 2013, 1.3.2. Tests.
- Campbell, Papapetrou, 2013, 1.6.1. Technical debt.
- Campbell, Papapetrou, 2013, 1.2.3. Analyzing multilanguage projects.
- SonarQube Free & Open Source Community Edition (англ.). www.sonarsource.com. Дата обращения: 18 октября 2023. Архивировано 18 октября 2023 года.
- Try Now Developer Edition (англ.). www.sonarsource.com. Дата обращения: 18 октября 2023. Архивировано 18 октября 2023 года.
- Clean Code Programming Languages (англ.). www.sonarsource.com. Дата обращения: 18 октября 2023. Архивировано 18 октября 2023 года.
Литература- G. Ann Campbell, Patroklos P. Papapetrou. SonarQube in Action. — Manning Publications, 2013. — ISBN 9781617290954.
|
|