Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Использование анализатора кода SonarQube

355 views

Published on

1. Для чего нужны анализаторы кода
2. Что такое SonarQube
3. Принципе работы
4. Поддержка языков
5. Что находит
6. Метрики, снимаемые с кода

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Использование анализатора кода SonarQube

  1. 1. Использование SonarQube в Positive Technologies Соловьев Алексей Программист отдела DevOps asolovyev@ptsecurity.com linkedin.com/in/aasolovyev Черепанов Сергей Программист отдела DevOps scherepanov@ptsecurity.com
  2. 2. План доклада • Что такое SonarQube • Для чего нужны анализаторы кода • Принцип работы • Поддерживаемые языки • Что находит • Метрики • Минусы • Профит
  3. 3. Что такое SonarQube • Платформа для анализа кода, управления его качеством • Позволяет непрерывно проводить анализ кода • Работает с множеством языков, используя плагины
  4. 4. Для чего нужны анализаторы кода • Анализ текущего состояния кодовой базы • Уменьшение количества багов/уязвимостей в будущем • Повышение качества кода
  5. 5. Принцип работы
  6. 6. Поддерживаемые языки C/C++ ($) ABAP ($) Web JavaScript VB.NET XML C# VB6 TypeScript Java Python Go (SonarQube 6.0 +) COBOL ($) RPG Multilanguage PL/SQL Flex PL/I($) Objective-C PHP Swift
  7. 7. Korea 2015 Technological Advantages and Visionary Approach Что находит •Дефекты кода •Уязвимости • код
  8. 8. Korea 2015 Technological Advantages and Visionary Approach Что находит
  9. 9. Метрики, снимаемые с кода Reliability Оценка надёжности проекта, основанная на встречающихся багах Security Оценка безопасности проекта, основанная на встречающихся уязвимостях Maintainability Оценка поддерживаемости проекта. Для этого применяется оценка технического долга проекта и информация о «плохом» коде в проекте Duplications Предоставляет информацию о повторениях кода, рассматривает повторения строк, блоков кода, а также файлов, в которых встречаются повторения Complexity Оценка сложности проекта, основанная на числе путей исполнения кода. Когда путь исполнения в функции разделяется, сложность увеличивается на единицу Documentation Оценка количества комментариев в коде Issues Предоставляет информацию о количестве проблем, их типе и статусе Quality Gates Итоговая оценка качества проекта. Критерии для прохождения проектом контроля качества можно настроить отдельно для каждого проекта Tests Оценка покрытия кода тестами
  10. 10. Метрики
  11. 11. Метрики
  12. 12. Пример страницы проекта
  13. 13. Минусы • Некорректная работа с LDAP-группами • Высокая стоимость плагинов • Отсутствие иерархичности проектов по веткам кода
  14. 14. Профит от использования SonarQube за полгода • Повысилось качество нового кода • Найдены старые баги и уязвимости • Сократилось время, затрачиваемое на ревью кода • Повысилась культура написания кода
  15. 15. Спасибо! Вопросы? Соловьев Алексей Программист отдела DevOps asolovyev@ptsecurity.com www.linkedin.com/in/aasolovyev Черепанов Сергей Программист отдела DevOps scherepanov@ptsecurity.com

×