깔끔하게 정렬된 코드는 읽기 편할 뿐만 아니라 팀원과의 협업, 버그 수정, 유지보수에도 큰 차이를 만듭니다. C++ 개발에서는 들여쓰기와 코드 스타일을 자동으로 맞춰주는 코드 포맷터(Code Formatter)·뷰티파이어(Beautifier) 도구를 활용하면 이런 반복 작업을 손쉽게 처리할 수 있습니다.
아래에서는 설치형 프로그램과 온라인 웹 기반 도구로 나누어 대표적인 C++ 코드 포맷터들을 살펴봅니다.
설치형 C++ 코드 포맷터·뷰티파이어
| 도구 이름 | 주요 특징 |
|---|---|
| Astyle(Artistic Style) | C++, Java 등 여러 프로그래밍 언어를 지원하는 대표적인 소스 코드 포맷터입니다. K&R, GNU 등 다양한 들여쓰기 스타일을 지정할 수 있어 폭넓게 사용됩니다. |
| Clang-Format | Clang 컴파일러와 함께 제공되는 명령줄 기반 포맷터입니다. 오픈소스(C++·Python으로 작성)이며, LLVM 코딩 규칙을 비롯한 다양한 스타일을 지원해 요즘은 많은 IDE와 에디터에 기본으로 통합되어 있습니다. |
| Universal Indent GUI | 다양한 언어의 코드 정렬 도구를 그래픽 인터페이스(GUI)에서 손쉽게 실행하고 결과를 미리 확인할 수 있게 해주는 프로그램입니다. |
| Jindent | Java로 작성된 코드 포맷터로, C, C++, Java, SQL 등 여러 언어의 코드를 미화해 줍니다. |
| Cppcheck | 오픈소스 정적 분석(static analysis) 도구입니다. 엄밀히 말해 코드 정렬 도구는 아니지만, 잠재적 버그와 위험한 코드 패턴을 찾아내 코드 품질 관리에 유용하게 활용됩니다. |
온라인 C++ 코드 포맷터·뷰티파이어
별도의 프로그램 설치 없이, 짧은 코드 조각만 빠르게 정리하고 싶다면 아래와 같은 웹 기반 도구를 활용해 보세요.
| 도구 이름 | 주요 특징 |
|---|---|
| Quick Highlighter | C++, PHP, HTML, Perl 등 다양한 언어를 지원하며, 내장 키워드와 데이터 타입을 자동으로 하이라이트해 가독성을 높여 줍니다. |
| Semantic Designs Code Formatter | C++ 언어를 지원하는 온라인 코드 뷰티파이어 서비스입니다. |
| PrettyPrinter | C++, C, Java, PHP 등 여러 언어를 지원하며, 세부 포맷팅 옵션을 사용자가 직접 선택할 수 있는 것이 장점입니다. |
| Highlight.js | 웹 페이지의 코드 구문을 자동으로 감지해 하이라이트해 주는 자바스크립트 라이브러리로, C++, Ruby, Perl 등을 지원합니다. |
| Polystyle | 사용자의 개인 코딩 스타일을 학습해 소스 코드를 자동으로 재정렬해 주는 도구로, C++, CSS, HTML, Java 등을 지원합니다. |
마무리
개인 프로젝트라면 Astyle이나 Clang-Format처럼 명령줄 도구를 빌드 과정에 연동해 사용하는 것이 효율적이며, 부담 없이 가볍게 쓰고 싶다면 온라인 도구도 좋은 선택입니다. 참고로 본문의 버전 정보는 원문 작성 시점(2013년경)을 기준으로 하므로, 실제 사용 전에는 각 도구의 공식 사이트에서 최신 버전을 확인하시기 바랍니다.