Возможности Qodana
для глубокого анализа кода

Qodana помогает находить и исправлять проблемы на раннем этапе. От статического анализа в IDE до проверок в ходе непрерывной интеграции — она выявляет сложный код, дублирование, уязвимости, проблемы с лицензиями и многое другое, чтобы вы могли быть уверены в качестве своего продукта.

Интеграция с IDE

Когда статический анализ кода встроен в CI/CD-процесс, все исправления делаются прямо в IDE. За счет интеграции с JetBrains IDE и расширения для VS Code, Qodana отправляет точные замечания о найденных проблемах в вашу среду разработки, так что вы можете быстро их исправить, не отвлекаясь и не переключая контекст. Работайте в привычной среде и сосредоточьтесь на коде, пока Qodana анализирует код на стороне CI.

logo

Мгновенные результаты анализа прямо в вашей IDE

После коммита изменений Qodana запускает сканирование на стороне CI в фоновом режиме и автоматически отправляет отчет о проблемах в вашу IDE. Вы получите уведомления об ошибках, дублированном коде, проблемах в структуре кода, уязвимостях и несовместимых зависимостях. Информация обо всем проекте доступна прямо в IDE, и вы можете сразу приступать к исправлению ошибок.

Простая настройка CI-анализа прямо из вашей IDE только в JetBrains IDE

Мастер настройки, установленный в вашей JetBrains IDE, позволяет создать конфигурационный файл для выбранного CI-сервера. Поддерживаются такие популярные CI-серверы, как Jenkins, GitHub Actions, TeamCity, GitLab CI/CD и другие.

Прямой переход к ошибке

Вы также можете просматривать отчеты Qodana в GitHub Actions или в Qodana Cloud и использовать кнопку Open in IDE, чтобы быстро перейти к месту в коде, где возникла проблема.

Подробные пояснения

Понятные объяснения помогут вам быстро разобраться в причинах проблем и избежать их в будущем.

Вопросы и ответы

Да, вы можете предварительно просмотреть результаты статического анализа, запустив проверку локально. Если вы только начали работать с Qodana, запустите первое сканирование прямо из IDE, и вы сразу увидите результаты локальной проверки.
Конечно! Qodana уже работает с Visual Studio Code, в этом году появится поддержка Visual Studio, а позже и других инструментов.
Просто создайте JetBrains-аккаунт — это займет пару минут. Или вы можете запустить Qodana локально через CLI либо настроить ее как шаг сборки в вашем CI-пайплайне.

Интеграция с CI/CD

Если код ломает сборку, добавляет баги, уязвимые зависимости или несовместимые лицензии, важно сразу узнать об этом и исправить проблему, пока она не попала в основную ветку. Qodana, интегрированная в ваш CI-пайплайн, может остановить сборку по заданным критериям или просто сообщит о найденных проблемах, чтобы вы и ваша команда успели их быстро устранить.

GitHub Actions
GitLab
TeamCity
Jenkins
Azure Pipelines
CircleCI
и любая другая CI/CD-система

Четкие критерии качества

Qodana проверяет код по заданным стандартам, мгновенно выдает результаты и автоматически останавливает пайплайн, если число ошибок определенной степени серьезности превышает допустимое или уровень покрытия кода слишком низкий.

Подходит для любой непрерывной интеграции

Qodana легко интегрируется с любым CI/CD-инструментом, поддерживающим Docker, например Jenkins, GitHub Actions, TeamCity, BitBucket или GitLab.

Отчеты прямо в IDE

После того как вы сделаете коммит, Qodana сканирует код на стороне CI и отправляет отчет о проблемах в вашу IDE. Вы видите состояние проекта, не покидая среду разработки, и можете начинать исправления.

Мастер конфигурации только в JetBrains IDE

В JetBrains IDE есть встроенный мастер, который помогает создавать конфигурационные файлы для CI-серверов. Например, для GitHub Actions нужно просто нажать кнопку Add, и файл workflow-конфигурации автоматически добавится в проект. Поддерживаются также TeamCity, GitLab CI/CD, Jenkins и другие системы.

Быстрые исправления

Qodana автоматически применяет исправления к найденным проблемам и создает пул-реквест с изменениями. Вы сможете проверить эти изменения перед коммитом.

Простой запуск с Docker

Линтеры Qodana готовы к использованию в виде Docker-образов. Их можно загрузить и запустить на любом CI-инструменте, который поддерживает Docker.

60-дневная пробная версия для всей команды

Проверка лицензий

Qodana проверяет, соответствуют ли лицензии вашего проекта лицензиям его зависимостей, чтобы избежать неожиданных проблем и юридических рисков.

Непрерывное сканирование

Qodana анализирует зависимости вашего проекта и отмечает несовместимые лицензии. При добавлении новой библиотеки или изменении лицензии у существующей, вы получите уведомление. Отчеты по лицензиям отображаются на отдельной вкладке в интерфейсе Qodana и в IDE.

Интеграция проверок в CI/CD-пайплайн

Qodana помогает проверять соответствие лицензий при каждом изменении кода.

Настройка критериев аудита

Вы можете игнорировать лицензии для определенных зависимостей, создавать свои собственные зависимости и настраивать матрицу лицензий, разрешая или запрещая определенные лицензии.

Отчеты по лицензиям

Qodana генерирует подробные отчеты, которые демонстрируют заинтересованным лицам, юристам и аудиторам, что лицензии, используемые в вашем проекте, соответствуют требованиям.

Покрытие кода

С Qodana вы можете следить за покрытием кода в проектах команды и быть уверены в том, что ключевые участки протестированы. Установите минимально допустимый уровень покрытия для старого и нового кода и обеспечьте надежность кодовой базы с помощью автоматических проверок в CI/CD-пайплайне.

Отчеты о покрытии кода прямо в IDE

Проанализировав покрытие кода на стороне CI, Qodana отображает, какие строки, методы и классы не покрыты тестами. Благодаря поддержке JetBrains IDE и VS Code, вы можете сразу увидеть в IDE, какие части кода не покрыты тестами, не перезапуская их.

Остановка пайплайнов при недостаточном покрытии кода

Вы можете задать минимальный процент покрытия кода как критерий качества. Если покрытие кодовой базы (или только нового кода) ниже этого уровня (например, <50%), Qodana остановит сборку.

Интеграция с популярными инструментами анализа покрытия

Qodana работает с IntelliJ IDEA Code Coverage Agent, JaCoCo, Jest, PhpUnit, coverlet.msbuild, Coverage.py и go test.

Обзор и сравнение покрытия в разных проектах

Qodana позволяет отслеживать изменения покрытия кода по всем вашим проектам.

Быстрые исправления

Для проблем, которые можно исправить автоматически, Qodana создает пул-реквесты с предложенными исправлениями, который нужно проверить перед коммитом изменений.

Гибкие стратегии

Линтеры Qodana поддерживают две стратегии — CLEANUP и APPLY, — чтобы вы могли гибко подходить к исправлениям.

CLEANUP

Автоматически вносит безопасные, небольшие исправления, не затрагивая логику проекта. Подходит для очистки кода без рисков.

APPLY

Пытается исправить все найденные проблемы, что может привести к большим изменениям, требующим внимательной проверки. Идеально, когда готовы к подробному ревью кода.

Панели мониторинга

Qodana предоставляет удобные визуализации, которые подробно показывают состояние кода и помогают быстро выявить проблемные области.

Диаграмма состояния проекта

Диаграмма-солнце показывает общее состояние проекта. С помощью фильтров можно сортировать проблемы по типу, важности и месту, чтобы быстро решить самые критичные.

История изменений

Просматривайте результаты предыдущих сканирований, чтобы видеть, как улучшается качество кода.

Кастомизация и расширения

У каждой команды свои требования к качеству кода, и ни один инструмент не может учесть все. Qodana сочетает в себе готовые интеграции и предустановленные профили проверок с широкими возможности кастомизации, чтобы максимально подстроиться под ваши задачи.

Создавайте свои проверки с помощью FlexInspect

Самый простой способ расширить возможности Qodana — это использовать FlexInspect. Он позволяет создавать собственные проверки кода на основе любых правил, которые вы хотите применять в проекте. Просто добавьте файл .kts в проект, чтобы задать свои правила. Никаких лишних настроек, сборок или сложных шагов — все максимально просто.

Подробнее

Структурный поиск по шаблонам

Структурный поиск — гибкий и эффективный инструмент в JetBrains IDE, который позволяет анализировать код с учетом семантики. Вы можете создавать собственные шаблоны поиска и использовать их для проверок в Qodana.

Подробнее

Базовое состояние

Переместите наименее серьезные или даже все обнаруженные проблемы на базовый уровень, чтобы перестать получать о них уведомления. Так команды могут сосредоточиться на действительно важных проблемах.

Следите за состоянием проблем

Вы можете легко отслеживать изменения в проблемах кода: какие появились, какие были исправлены и какие остались без изменений.

Внедряйте стандарты качества постепенно

При первом запуске Qodana находит разные проблемы в коде. Необязательно решать их все сразу, жертвуя другими задачами: можно отнести их к базовому состоянию и сосредоточиться на улучшении только нового кода.

60-дневная пробная версия для всей команды