SonarQube
SonarQube | |
---|---|
| |
Тип | Статический анализатор кода |
Разработчик | SonarSource |
Написана на | Java |
Операционная система | Кроссплатформенное |
Первый выпуск | 14 декабря 2007 |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 10.2.1.78527 (сентябрь 2023 ) |
Репозиторий | github.com/SonarSource/s… |
Лицензия | GNU LGPLv3 |
Сайт | sonarqube.org |
Медиафайлы на Викискладе |
SonarQube (бывший Sonar[1]) — платформа с открытым исходным кодом для непрерывного анализа (англ. continuous 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.
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |