-
Google c++ coding Style Checker (cpplint)랭귀지/C\C++ 2020. 5. 6. 22:07
Google Coding Style
가독성을 높이기 위해 Google C++ coding Style Guide [ https://google.github.io/styleguide/cppguide.html ]
따르기로 결정했다면 다음과 같은 툴의 도움을 받으면 적용하기 수월 해집니다.
1. Visual Studio C++ 코딩 스타일 및 서식 설정
들여 쓰기 및 중괄호 위치와 같은 많은 개별 코드 서식 지정 옵션을 지정할 수 있습니다. 이렇게 하려면 도구 > 옵션 > 텍스트 편집기 > C/C++ > 서식(또는 Ctrl + Q를 입력하고 "서식 지정"을 검색)으로 이동합니다. 또는 ClangFormat 스타일(또는 사용자 지정 ClangFormat 스타일) 중 하나를 지정할 수 있습니다.
- 기본 Visual Studio 서식 스타일 ( 탭 띄어쓰기, 중괄호 위치, 빈공 백 조정 없음 )
#include <iostream> int main() { std::cout << "Hello Visual Studio C++ Style" << std::endl; return 0; }
- Google C++ Coding Style ( 스페이스 띄워쓰기, 중괄호, 빈공 백 조정 )
#include <iostream> int main() { std::cout << "Hello Google C++ Style Guide" << std::endl; return 0; }
2. Cpplint 를 활용한 Coding Style Check
cpplint는 Google의 C++ Style guide에 따라 C/C++ 파일을 체크하는 커맨드 라인 도구라고 생각하면 됩니다.
cpplint GitHub : https://github.com/cpplint/cpplintcpplint를 사용하기 위해 가이드대로 하려면 pip를 사용할 수 있어야 하는데 Visual Studio 기반으로 사용할 예정이라 Anaconda를 활용하여 Windows에 Python 환경을 설정한다.
Windows 아나콘다 설치
Anaconda : https://www.anaconda.com/download/
1. 아나콘다 다운로드 페이지로 가서 다운로드 버튼을 클릭합니다.
pip install cpplint
설치가 완료되면 커맨드로 쉽게 사용이 가능하다.
cpplint --help cpplint [OPTIONS] filename
#include <iostream> int main() { std::cout << "Hello Visual Studio C++ Style" << std::endl; return 0; }
해당 소스를 검사했을 때 다음과 같은 메시지를 확인할 수 있다.
main.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] main.cpp:4: { should almost always be at the end of the previous line [whitespace/braces] [4] main.cpp:5: Tab found; better to use spaces [whitespace/tab] [1] main.cpp:5: Missing spaces around << [whitespace/operators] [3] main.cpp:6: Tab found; better to use spaces [whitespace/tab] [1] main.cpp:7: Could not find a newline character at the end of the file. [whitespace/ending_newline] [5] Done processing main.cpp Total errors found: 6
수정 후 소스 코드
// Copyright 2020 Angler. #include <iostream> int main() { std::cout << "Hello Google C++ Style Guide" << std::endl; return 0; }
cpplint main.cpp Done processing main.cpp
3. Visual Studio 외부 도구 설정을 통한 Cpplint 사용
윈도에서 Anaconda로 cpplint를 설치했을 때 cpplint는 python code 뿐만 아니라 exe 실행 파일을 script 폴더에 생성하게 된다. cpplint.exe 파일을 Visual Studio 외부 도구로 설정하여 좀 더 간편하게 사용할 수 있도록 합니다.
[도구]-[외부 도구] 선택
제목 : cpplint 명령 : C:\python\Scripts\cpplint.exe 인수 : --output=vs7 --extensions=h,hpp,c,cpp $(ItemPath) 초기 디렉토리 : $(ItemDir)
VS의 메뉴에서 [도구]-[cpplint]를 선택하여 cpplint가 코드를 분석하도록 합니다.