린트는 빠르고 저렴한 품질 관문이야
코드를 실행하지 않아도 잡아낼 수 있는 구조적인 문제들을 린트가 해결해 줘. 쓰지 않는 임포트, 정의되지 않은 변수, 의심스러운 패턴, 스타일 위반, 그리고 변경 가능한 기본 인자나 중첩된 삼항 연산자 같은 단순한 버그의 징후까지 모두 찾아내지. 가장 비용이 적게 드는 CI 단계니까 제일 먼저 돌려야 해.
추천 도구
- Python:
ruff(Astral)가 flake8, isort, pylint의 대부분을 대체하고 black 포매팅까지 대신해. 예전 도구들보다 100배 빠르다고. - JavaScript / TypeScript: 새로운 Rust 기본값인
biome아니면eslint + prettier조합을 써. Biome이 더 빠르고 통합되어 있지만, eslint는 더 오래된 플러그인 생태계를 갖추고 있어. - Go:
golangci-lint가 수십 개의 린터를 묶어서 제공해. - Rust:
clippy가 내장되어 있어. - YAML:
yamllint를 쓰고, GitHub Actions YAML 전용으로는actionlint를 써. - Shell:
shellcheck를 쓰면 돼.
푸시하기 전에 로컬에서 pre-커밋 훅으로 실행해 봐. CI는 그저 안전망일 뿐, 첫 번째 방어선이 아니야.