Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

575 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Использование анализатора кода 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

×