티스토리 뷰
다른 사람과 나의 코드 작성법은 다를 수밖에 없다. 그래서 다른 사람의 코드를 이해하는데 많은 시간을 사용하게 되고 생산성이 떨어지게 된다. 이를 위해 '코드 컨벤션'이라는 것이 존재하는데, 코드 컨벤션은 개개인이 신경을 써야만 만족시킬 수 있다.
그렇다면 코드 컨벤션을 강제적으로 지킬 수밖에 없도록 만들 수는 없을까?
이를 위해 checkstyle이라는 것이 존재한다. checkstyle을 프로젝트에 적용해 보고, 강제적으로 자바 컨벤션을 지키는 방법에 대해 알아보자.
intellij의 plugins에 들어가서, checkstyle을 검색하고 설치하자.
설치 후, Checkstyle 설정을 할 수 있는데, default 값으로 2가지가 존재한다.
- Sun Checks
- Google Checks
위의 두가지 스타일 외에 다른 값을 사용하고 싶다면, Configuration File에서 추가해주면 된다. Default로 제공되는 Google Checks를 선택해 보자.
이제 설정은 끝이 났고, checkstyle을 사용하는 방법은 크게 2가지가 존재한다.
- 현재 열린 파일을 검사하는 방법
- 커밋 시 전체 파일을 검사하는 방법
먼저 현재 열린 파일만 검사하는 방법은 아래와 같다.
파일을 열면, 인텔리제이 하단에 checkstyle이라는 탭이 생긴다. 해당 탭을 클릭하고, 초록색 실행 버튼을 클릭하면 checkstyle에 맞지 않는 부분들을 경고로 알려준다.
commit 시 checkstyle을 사용하고 싶다면, intellij에서 git commit을 수행하면 된다. 알아서 경고 창을 띄워주는 것을 볼 수 있다.
checkstyle을 통해 코드 컨벤션을 위반했는지 간단하게 확인할 수 있다. 하지만, 이를 하나하나 수정하기는 매우 귀찮은 작업이다. 그래서 이를 아주 간단하게 해주는 'formatter'라는 툴에 대해 알아보자.
formatter는 정해진 컨벤션에 따라 코드를 아주 깔끔하게 정돈해주는 툴이다.
intellij 설정에 들어가서 java code style을 설정해야 한다. 현재는 Intellij에서 제공하는 default 값이 설정되어 있는데 google style로 변경해 보자. Google Java Style을 사용하기 위해서는 Google Java Formatter Guide에서 해당 스타일을 다운로드하여야 한다.
위의 레포지토리에 들어가면, 아래와 같은 java style xml 파일이 있다. 해당 파일을 받아 프로젝트에 넣어줘야 한다.
다운을 받고, 인텔리제이 설정으로 돌아와 import를 해주자.
여기까지 했으면 모든 것이 끝났다. 이제 다시 코드로 돌아가 맥 기준 command + option + L 키를 눌러보면,
코드가 Google-Java-Style을 기준으로 정렬된다.
'BackEnd > Spring' 카테고리의 다른 글
[Spring] @Async 비동기 처리 방법 (2) | 2022.10.02 |
---|---|
[Spring] Client IP와 Browser 정보 가져오기 (4) | 2022.10.02 |
- Total
- Today
- Yesterday
- OS
- network
- fiber
- GORM
- Operating System
- spring
- Effective Java
- go
- 공지
- java
- Database
- soft delete
- ARP
- cs
- paging
- effective
- mmu
- algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |