SonarQube: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Добавлено описание поддерживаемых стандартов безопасного программирования. |
Wargyin37 (обсуждение | вклад) пунктуация |
||
(не показано 39 промежуточных версий 20 участников) | |||
Строка 1: | Строка 1: | ||
{{Карточка программы |
|||
{{К улучшению|2016-01-12}} |
|||
⚫ | |||
⚫ | '''SonarQube''' (бывший '''Sonar'''<ref>{{Cite web|accessdate = 2016-01-13|title = Sonar becomes the SonarQube platform {{!}} SonarSource|url = http://www.sonarsource.com/company/news/sonarsource-news/sonar-becomes-the-sonarqube-platform/|publisher = www.sonarsource.com}}</ref>) — |
||
| logo = Sonarqube-48x200.png |
|||
| screenshot = Sonarqube_hero@2x.webp |
|||
⚫ | Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования [[MISRA C]], [[MISRA C++]], [[Common Weakness Enumeration|MITRE/CWE]] и [[CERT Secure Coding Standards]]. |
||
| caption = Интерфейс версии 10+ |
|||
⚫ | |||
⚫ | |||
| logo = Sonar-logo.png |
|||
⚫ | |||
| screenshot = Sonar-snapshot.jpg |
|||
| latest_release_date = {{start date and age|2023|09}} |
|||
| caption = |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| latest_release_date = [[29 сентября]] [[2014 год]]а |
|||
⚫ | |||
⚫ | |||
| license = [[GNU LGPL|GNU LGPLv3]] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| license = [[GNU LGPL|Lesser GNU General Public License]] |
|||
⚫ | |||
}} |
}} |
||
⚫ | '''SonarQube''' (бывший '''Sonar'''<ref>{{Cite web|accessdate = 2016-01-13|title = Sonar becomes the SonarQube platform {{!}} SonarSource|url = http://www.sonarsource.com/company/news/sonarsource-news/sonar-becomes-the-sonarqube-platform/|publisher = www.sonarsource.com|deadlink = yes|archiveurl = https://web.archive.org/web/20160221154511/http://www.sonarsource.com/company/news/sonarsource-news/sonar-becomes-the-sonarqube-platform/|archivedate = 2016-02-21}}</ref>) — платформа с открытым исходным кодом для непрерывного анализа ({{lang-en|continuous inspection}}) и измерения качества программного кода. |
||
⚫ | Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования [[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|deadlink = yes|archiveurl = https://web.archive.org/web/20151030080810/http://docs.sonarqube.org/display/SONAR/Tags|archivedate = 2015-10-30}}</ref><ref>{{Cite web|accessdate = 2016-01-14|title = Rules - SonarQube|url = http://nemo.sonarqube.org/coding_rules|publisher = nemo.sonarqube.org|archiveurl = https://web.archive.org/web/20151024052047/http://nemo.sonarqube.org/coding_rules|archivedate = 2015-10-24|deadlink = yes}}</ref>. |
||
Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели ({{lang-en|dashboard}}), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработки{{sfn|Campbell, Papapetrou|2013|loc=1.1.1. Proven technologies}}. |
|||
== Принципы работы == |
|||
SonarQube измеряет качество программного кода в соответствии с семью показателями (и соответствующими [[Метрика программного обеспечения|метриками]]) [[качество программного обеспечения|качества программного обеспечения]], которые разработчики называют {{lang-en|Seven Axes of Quality}}{{sfn|Campbell, Papapetrou|2013|loc=1.3. Seven Axes of Quality}}: |
|||
* Потенциальные [[баг|ошибки]] ; |
|||
* [[Стиль программирования]]; |
|||
* [[Тестирование программного обеспечения|Тесты]]; |
|||
* [[Don’t repeat yourself|Повторения участков кода]]; |
|||
* [[Комментарии (программирование)|Комментарии]]; |
|||
* [[Архитектура программного обеспечения|Архитектура]] и [[Проектирование программного обеспечения|проектирование]]; |
|||
* Сложность. |
|||
Таким образом, тесты оцениваются не только с точки зрения успешности исполнения, но и по [[Критерий тестового покрытия|тестовому покрытию]] исходного кода{{sfn|Campbell, Papapetrou|2013|loc=1.3.2. Tests}}. |
|||
Во главу угла в SonarQube поставлено измерение качества в соответствии с концепцией [[Технический долг|технического долга]] ({{lang-en|technical debt}}), реализованное в виде плагина. Долг вычисляется в долларах и [[Человеко-день|человеко-днях]], а также по типам показателей, в процентах{{sfn|Campbell, Papapetrou|2013|loc=1.6.1. Technical debt }}. |
|||
== Возможности == |
|||
SonarQube позволяет анализировать проекты, написанные на разных [[Язык программирования|языках программирования]], хотя для каждого делается свой анализ. Анализируемый язык необходимо указывать явным образом{{sfn|Campbell, Papapetrou|2013|loc=1.2.3. Analyzing multilanguage projects}}. |
|||
Бесплатная версия программы поддерживает различные [[Язык программирования|языки программирования]], сценариев или разметки: [[Java]], [[C Sharp]], [[JavaScript]]/[[TypeScript]], [[AWS CloudFormation]], [[Terraform]], [[Docker]], [[Kubernetes]], [[Kotlin]], [[Ruby]], [[Go]], [[Scala (язык программирования)|Scala]], Flex, [[Python]], [[PHP]], [[HTML]], [[CSS]], [[XML]], [[Visual Basic .NET]]<ref>{{Cite web|url=https://www.sonarsource.com/open-source-editions/sonarqube-community-edition/|title=SonarQube Free & Open Source Community Edition|lang=en|website=www.sonarsource.com|access-date=2023-10-18|archive-date=2023-10-18|archive-url=https://web.archive.org/web/20231018120828/https://www.sonarsource.com/open-source-editions/sonarqube-community-edition/|url-status=live}}</ref>. Версия для разработчиков дополнительно поддерживает [[Си (язык программирования)|C]], [[C++]], [[Objective-C]], [[Swift (язык программирования)|Swift]], [[ABAP/4|ABAP]], [[Transact-SQL]] и [[PL/SQL]]<ref>{{Cite web|url=https://www.sonarsource.com/plans-and-pricing/developer/|title=Try Now Developer Edition|lang=en|website=www.sonarsource.com|access-date=2023-10-18|archive-date=2023-10-18|archive-url=https://web.archive.org/web/20231018120823/https://www.sonarsource.com/plans-and-pricing/developer/|url-status=live}}</ref>. Корпоративная версия отличается поддержкой [[Кобол|Cobol]], [[ПЛ/1|PL/I]], [[Salesforce#Apex|Apex]], [[RPG (язык программирования)|RPG]] и [[Visual Basic|Visual Basic 6]]<ref>{{Cite web|url=https://www.sonarsource.com/knowledge/languages/|title=Clean Code Programming Languages|lang=en|website=www.sonarsource.com|access-date=2023-10-18|archive-date=2023-10-18|archive-url=https://web.archive.org/web/20231018120825/https://www.sonarsource.com/knowledge/languages/|url-status=live}}</ref>. |
|||
== Примечания == |
== Примечания == |
||
{{примечания}} |
{{примечания}} |
||
== Литература == |
|||
{{empty}} |
|||
* {{книга | автор = G. Ann Campbell, Patroklos P. Papapetrou | заглавие = SonarQube in Action | издательство = Manning Publications | год = 2013 | isbn = 9781617290954 | ref = Campbell, Papapetrou}} |
|||
⚫ | |||
⚫ | |||
{{Изолированная статья}} |
|||
{{Стиль}} |
|||
[[Категория:Свободное программное обеспечение, написанное на Java]] |
[[Категория:Свободное программное обеспечение, написанное на Java]] |
Текущая версия от 04:39, 7 декабря 2024
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.
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |