Анализ кода (code analysis) · code analysis
Анализ кода — автоматический разбор исходников для поиска ошибок, уязвимостей, нарушений стиля и метрик без запуска программы или во время её выполнения.
Подробно
Статический анализ разбирает код без исполнения: линтеры (ESLint, Pylint), платформы качества (SonarQube), SAST-сканеры безопасности (Semgrep, CodeQL) и анализаторы вроде PVS-Studio. Он встраивается в CI/CD как quality gate, блокируя мерж при критичных находках, и даёт метрики — цикломатическую сложность, дублирование, покрытие тестами. Динамический анализ выполняется на работающем приложении (профилирование, sanitizers, DAST) и ловит проблемы, которые статика не видит. С 2024 года к классическим правилам добавился LLM-ревью: модели ищут логические дефекты и предлагают патчи прямо в pull request.
Примеры употребления
- npx eslint src --max-warnings 0 — линт с запретом любых предупреждений в CI
- semgrep --config=p/owasp-top-ten . — быстрый SAST-прогон по правилам OWASP
- sonar-scanner в шаге CI с проверкой quality gate на новом коде
- python -m pylint app/ — статический анализ Python-пакета
