Clang-Tidy 설치 및 사용 가이드
정적 분석으로 코드 품질을 한 단계 업그레이드하기
🔧 Clang-Tidy란?
Clang-Tidy는 LLVM/Clang 기반의 정적 분석 도구로, C++ 코드를 컴파일하지 않고도 다양한 코드 품질 문제를 찾아줍니다.
Google C++ Style Guide, CERT, Boost 등 다양한 체크 그룹을 지원하며, 자동 수정(--fix) 기능까지 제공합니다.
📦 설치 방법
1. Visual Studio (Windows)
Visual Studio 2019 이상부터는 Clang-Tidy가 기본 포함되어 있습니다.
설치 방법:
- Visual Studio Installer 실행
- 개발자용 C++ 데스크톱 워크로드 선택
- 아래의 선택적 구성 요소에서 Clang compiler for Windows 체크
- 설치 완료 후 C:\Program Files\LLVM\bin에 clang-tidy.exe 존재 확인
💡 경로가 PATH에 등록되어 있지 않다면 수동 등록 필요

2. LLVM 다운로드 (CLI 용)
직접 LLVM 바이너리를 다운로드해서 사용할 수도 있습니다.
- LLVM 다운로드 링크
- 설치 후 clang-tidy 경로를 환경 변수 PATH에 등록
clang-tidy --version
⚙️ Clang-Tidy 설정
1. .clang-tidy 설정 파일 작성
Checks: 'modernize-*,performance-*,readability-*'
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
FormatStyle: file
CheckOptions:
- key: modernize-use-nullptr.NullMacros
value: 'NULL'
.clang-tidy 파일은 프로젝트 루트 또는 소스 코드 폴더에 위치시키면 됩니다.
🧪 사용 방법
1. Visual Studio에서 Clang-Tidy 실행
- 메뉴 → 분석 > 코드 분석 > 현재 프로젝트 분석
- 또는 속성 설정:
- 프로젝트 속성 → C/C++ → 코드 분석 → Clang-Tidy 활성화
- 필요한 체크 추가 가능

2. 명령어로 사용 (CLI)
clang-tidy mycode.cpp -checks=modernize-* -- -I./include
- -- 뒤에는 컴파일 명령어에 필요한 인클루드 등 전달
- -fix 옵션을 사용하면 자동 수정도 가능:
clang-tidy mycode.cpp -checks=modernize-* -fix -- -I./include
📄 Visual Studio에서 체크 목록 커스터마이징
- .clang-tidy 파일 작성 (또는 설정에서 직접 입력)
- Visual Studio → 프로젝트 속성 → C/C++ → Clang-Tidy 항목에서 다음과 같이 입력:
-checks=-*,modernize-use-trailing-return-type,readability-*
📝 자주 쓰는 체크 그룹
그룹 설명
| modernize-* | C++11 이상 스타일 적용 |
| readability-* | 가독성 향상 제안 |
| performance-* | 성능 관련 개선사항 |
| bugprone-* | 잠재적 버그 포착 |
| cert-* | CERT 보안 코딩 가이드라인 준수 |
✅ 마무리
Clang-Tidy는 단순한 정적 분석 도구를 넘어, 코딩 습관을 바꾸고 팀의 코드 품질을 향상시킬 수 있는 강력한 도구입니다.
특히 C++의 복잡성을 줄이고 최신 스타일을 적용하는 데 큰 도움이 됩니다.
이상 chat-gpt의 도움을 받아 작성 하였습니다.