SonarQube: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
РоманСузи (обсуждение | вклад) дополнение |
РоманСузи (обсуждение | вклад) стилевые правки |
||
Строка 18: | Строка 18: | ||
Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования [[MISRA C]], [[MISRA C++]], [[Common Weakness Enumeration|MITRE/CWE]] и [[CERT Secure Coding Standards]]. А также умеет распознавать ошибки из списков [[OWASP Top Ten|OWASP Топ-10]] и [[CWE/SANS Top 25 Coding Errors|CWE/SANS Топ-25 ошибок программирования]].<ref>{{Cite web|accessdate = 2016-01-14|title = Tags - SonarQube Documentation - SonarQube|url = http://docs.sonarqube.org/display/SONAR/Tags|publisher = docs.sonarqube.org}}</ref><ref>{{Cite web|accessdate = 2016-01-14|title = Rules - SonarQube|url = http://nemo.sonarqube.org/coding_rules|publisher = nemo.sonarqube.org}}</ref> |
Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования [[MISRA C]], [[MISRA C++]], [[Common Weakness Enumeration|MITRE/CWE]] и [[CERT Secure Coding Standards]]. А также умеет распознавать ошибки из списков [[OWASP Top Ten|OWASP Топ-10]] и [[CWE/SANS Top 25 Coding Errors|CWE/SANS Топ-25 ошибок программирования]].<ref>{{Cite web|accessdate = 2016-01-14|title = Tags - SonarQube Documentation - SonarQube|url = http://docs.sonarqube.org/display/SONAR/Tags|publisher = docs.sonarqube.org}}</ref><ref>{{Cite web|accessdate = 2016-01-14|title = Rules - SonarQube|url = http://nemo.sonarqube.org/coding_rules|publisher = nemo.sonarqube.org}}</ref> |
||
Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели ({{lang-en|dashboard}}), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработки{{sfn|Campbell, Papapetrou|2013|loc=1.1.1. Proven technologies}}. |
|||
== Семь показателей качества == |
== Семь показателей качества == |
Версия от 08:44, 31 декабря 2016
Эта страница требует существенной переработки. |
SonarQube | |
---|---|
Тип | Статический анализатор кода |
Разработчик | SonarSource |
Написана на | Java, Kotlin, Visual Basic, Си, C++, JavaScript, TypeScript, PHP, Python, Terraform, Кобол, CSS, HTML, Go, Objective-C, Swift, RPG, PL/SQL, Ruby, Scala, Transact-SQL, XML и Visual Basic 6[вд] |
Операционная система | Кроссплатформенное |
Первый выпуск | 14 декабря 2007 |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 5.3 (11 января 2016 года) |
Репозиторий | 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].
Открытая версия программы поддерживает следующие плагины[9]:
Для платной версии (Enterprise) доступны плагины[9]:
- ABAP (коммерческий плагин)
- C/C++ (коммерческий плагин)
- C#
- COBOL (коммерческий плагин)
- Flex / ActionScript
- Groovy
- Java
- JavaScript
- Objective-C (коммерческий плагин)
- PHP
- PL/I (коммерческий плагин)
- PL/SQL (коммерческий плагин)
- Python
- Swift (коммерческий плагин)
- VB.NET (коммерческий плагин)
- Visual Basic 6 (коммерческий плагин)
- Web
- XML
Примечания
- ↑ Sonar becomes the SonarQube platform | SonarSource . www.sonarsource.com. Дата обращения: 13 января 2016.
- ↑ Tags - SonarQube Documentation - SonarQube . docs.sonarqube.org. Дата обращения: 14 января 2016.
- ↑ Rules - SonarQube . nemo.sonarqube.org. Дата обращения: 14 января 2016.
- ↑ 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.
- ↑ 1 2 Plugin Library - Plugins - SonarQube . docs.sonarqube.org. Дата обращения: 14 января 2016.
Литература
- G. Ann Campbell, Patroklos P. Papapetrou. SonarQube in Action. — Manning Publications, 2013. — ISBN 9781617290954.
Эта статья слишком короткая. |
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |