[Mac & IntelliJ] 네이버 캠퍼스 핵데이 Java 코딩 컨벤션 적용

·2022년 10월 26일
1
post-thumbnail

참고 출처: 개발바닥곰발바닥

IntelliJ의 자바 프로젝트에 코딩 컨벤션 적용을 해보겠다.

JavaScript - VSCode에서 ESLint/prettier를 사용한 코딩 컨벤션만 적용해보고,
Java - IntelliJ 에서는 처음 적용해본다!

구글의 Java 코딩 컨벤션과 네이버 캠퍼스 핵데이 Java 코딩 컨벤션 중 고민하다, 후자를 택했다!
이유는 간단하다.. 한글이라 읽기가 쉽다 ㅎㅎ

캠퍼스 핵데이 Java 코딩 컨벤션

IntelliJ Formatter 적용

1. Fomatter 다운로드

naver-intellij-formatter.xml
위 링크에서 naver-intellij-formatter.xml 를 다운로드한다!
참고) 구글 Java 코딩 컨벤션

2. Scheme 설정

  1. IntelliJ에서 상단의 IntelliJ → Preferences Open (Mac 단축키: Cmd + ,)
  2. Editor → Code Style → Java 항목으로 이동
  3. Scheme 항목 오른쪽 톱니바퀴 → Import Scheme → IntelliJ IDEA Code Style XML
  4. naver-intellij-formatter.xml 파일 선택 후 OK!

해당 과정을 마치면 Code Style Formatter 설정이 끝난다.
코드를 작성하고 Cmd + Option + L을 누르면 지정한 코드 스타일에 맞게 자동으로 코드에 포매터가 적용된다.
하지만.. 이렇게 일일이 단축키를 누르는건 제법 귀찮은 일이고, 까먹고 커밋해버리는 경우가 많으니 저장할 때 마다 자동으로 적용하는 설정을 추가해주도록 하자!

3. 저장시마다 코딩 컨벤션 자동 적용하기

  1. Preferences에서 Tools → Actions On Save 항목으로 이동
  2. Reformat code(저장시 자동으로 포맷 적용)와 Optimize imports(저장시 사용하지 않는 import 제거) 체크

CheckStyle 적용

CheckStyle은 Java 소스코드가 지정한 코딩 컨벤션을 준수하는지 확인하기 위한 정적 코드 분석 도구다.
저장된 규칙에 어긋나는 경우 컴파일시 경고나 에러를 띄워준다.
예를들면 변수명이 'abc'가 아닌 'Abc'라던가.. 클래스명이 소문자로 시작한다던가..

1. CheckStyle 다운로드

naver-checkstyle-rules.xml
naver-checkstyle-suppressions.xml
위 링크에서 naver-checkstyle-rules.xml 과 naver-checkstyle-suppressions.xml 를 다운한다!

2. IntelliJ CheckStyle 플러그인 설치

  1. Preferences에서 Plugins 항목으로 이동
  2. Marketplace에서 CheckStyle을 검색해서 CheckStyle-IDEA 플러그인 설치
  3. IntelliJ 재시작

3. CheckStyle 설정

  1. Preferences에서 Tools → CheckStyle 항목으로 이동
  2. Scan Scope를 All sources (including tests)로 설정
  3. Treat Checkstyle errors as warnings를 체크
  4. Configuration File의 + 버튼 클릭
  5. Description은 Naver Checkstyle Rules로 하고(프로젝트별 커스터마이징했다면 프로젝트 이름), Use a Local Checkstyle File 선택 후 naver-checkstyle-rules.xml 불러온 후 Next
  6. suppressionFile 변수를 설정하라는 창이 뜨면 Value에 naver-checkstyle-suppressions.xml를 입력하고 Next
  7. Naver Checkstyle Rules의 Active 체크

CheckStyle 적용 예시

하단에 CheckStyle 탭이 생기고, Check Current File / Check Module / Check Project 등을 선택하여 코딩 컨벤션 준수 여부를 확인할 수 있다.

0개의 댓글