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}}.
Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели ({{lang-en|dashboard}}), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработки{{sfn|Campbell, Papapetrou|2013|loc=1.1.1. Proven technologies}}.


== Семь показателей качества ==
== Семь показателей качества ==

Версия от 08:44, 31 декабря 2016

SonarQube
Логотип программы SonarQube
Скриншот программы 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]:

Примечания

  1. Sonar becomes the SonarQube platform | SonarSource. www.sonarsource.com. Дата обращения: 13 января 2016.
  2. Tags - SonarQube Documentation - SonarQube. docs.sonarqube.org. Дата обращения: 14 января 2016.
  3. Rules - SonarQube. nemo.sonarqube.org. Дата обращения: 14 января 2016.
  4. Campbell, Papapetrou, 2013, 1.1.1. Proven technologies.
  5. Campbell, Papapetrou, 2013, 1.3. Seven Axes of Quality.
  6. Campbell, Papapetrou, 2013, 1.3.2. Tests.
  7. Campbell, Papapetrou, 2013, 1.6.1. Technical debt.
  8. Campbell, Papapetrou, 2013, 1.2.3. Analyzing multilanguage projects.
  9. 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.