Анализ кода (code analysis) · code analysis

Тестирование (QA)Частота употребления: высокая· Сложность: 3/5· Актуальность: 5/5· Тренд: растёт

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

Подробно

Статический анализ разбирает код без исполнения: линтеры (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-пакета
#static-analysis #sast #linting #quality-gate

Источники