Qodana — это новая платформа “обеспечения качества кода” от JetBrains. Хотя основная задача Qodana заключается в выявлении и предложении исправлений для ошибок, уязвимостей безопасности, дублирования, недостатков, аномального кода, вероятных ошибок, мертвого кода и т.д., она также может использоваться для улучшения общей структуры проекта и внедрения лучших практик программирования.
Конечно, по своей сути Qodana представляет собой набор линтеров, которые обеспечивают анализ проекта локально или в любом CI, причем каждый линтер обеспечивает два типа вывода:
- Файлы JSON отдельно для каждого линтера
- Веб-отчеты для интерактивного исследования результатов и настройки конфигурации
Qodana можно использовать локально или запускать в облаке с помощью образа Docker. Для линтеров Qodana предоставляются следующие образы Docker:
- Qodana for JVM Docker image
- Qodana for JVM Community Docker image
- Qodana for JVM Android Docker image
- Qodana for PHP Docker image
- Qodana for Python Docker image
Есть два экспериментальных линтера:
- jetbrains/qodana-clone-finder: поиск клонов, который сравнивает запрошенный проект с несколькими эталонными проектами и перечисляет все повторяющиеся функции, ранжированные по их важности.
- jetbrains/qodana-license-audit: аудит лицензий, который помогает программным проектам избежать проблем с несовместимыми сторонними лицензиями. Он обнаруживает более 1600 лицензий.
Qodana уже поддерживает проекты Java и Kotlin и в конечном итоге будет поддерживать все языки и технологии, охватываемые IDE JetBrain. Для PHP и Python есть программа раннего доступа.
Протестировать Qodana можно в песочнице, работающей в облачной CI JetBrains, TeamCity. Здесь вы можете увидеть инструмент в действии, попробовав различные варианты самостоятельно. Чтобы открыть песочницу, используйте эту ссылку и выберите опцию «Войти в качестве гостя».