IntelliJ에 Convention 파일 설정하기

Buddy·2023년 8월 6일
1
post-thumbnail

Code Convention

"Convention"은 일반적으로 행동, 언어, 사회적 상호 작용 등에 대한 관습이나 약속을 의미합니다. 사람들 사이에서 합의된 규칙이나 예상되는 행동 양식을 나타냅니다. Convention은 사회 및 문화적 맥락에서 중요한 역할을 합니다. 예를 들어, 언어에서 특정 어구나 표현의 사용 방식, 미팅이나 행사에서의 예절, 혹은 문화적 행사에서의 의례와 같은 다양한 분야에서 convention이 적용될 수 있습니다.

한편, 특정 분야에서의 convention은 시간이 지나며 변할 수 있으며, 문화나 사회의 변화에 따라 새로운 규칙이나 약속이 형성될 수도 있습니다.

Convention이 뭔지 chatGPT에게 물어본 대답이다. 행동, 언어, 사회적 상호 작용 등에 대한 관습이나 약속을 의미합니다. 라는 답변으로 충분히 뭔지 알 수 있는 것 같다. 개발에서는 여러 Convention을 정하고 사용한다.

  • code convention
  • commit convention
  • issue convention
  • PR convention

사실 code convention 외에 다른 친구들이 저렇게 convention이라는 이름으로 규약을 지정하는지는 잘 모르겠는데.. 팀으로 개발하면서 위와 같은 친구들은 템플릿을 지정해서 다같이 사용하니까 나는 저 또한 convention으로 이해했다. 또한 git flow, github flow, gitlab flow 와 같은 브랜치 전략도 관습이나 약속이라는 점에서는 convention이라고 해도 좋을 것 같다.
(내가 이해한 내용이고 정확한 내용인지는 모름)

무튼, Code Convention은 해당 프로젝트 또는 집단에서 정한 코드 작성 규칙이라고 생각하면 된다. package, class, method 등의 명명 규칙이나 변수 선언 시의 순서 등을 다룬다.

자세한건 내가 글로 아무리 써봤자 공식 문서가 훨씬 상세하니까 스킵.
Google, Naver의 Convention 링크를 가져왔다. 두 종류의 Convention 모두 다 사용해봤는데 거의 비슷했던 것 같다. 주위에서는 Google 스타일을 사용하는 사람들이 좀 더 많았던 것 같고 현재 나도 사용중이다. 네이버는 걍 내가 좋아함 👍 (우테코에서 사용했던 것 같기도?)

그래서 어떻게 적용하냐

  1. Google Style Guide Repository 여기서 xml파일을 다운 받는다.
  2. 그리고 Intelli에서 command + ,로 세팅 메뉴를 들어간다.
    (나는 개발에는 맥만 써서 윈도우 단축키는 모르니까 넘어가겠다.)
  3. Code Style - Java 항목에 들어가서 Scheme 우측의 import Scheme 누르고 파일을 지정한다.

끝. 이제 코드 정렬(option + command + l)을 할 때 마다 Convention이 적용될거다. 수정하고 싶은 값들이 있으면 수동으로 수정하자. 아마 Google 기본 탭 사이즈가 2로 기억하는데 난 4가 좋아서 4로 바꿨다. Naver는 4일거다. 역시 네이버 👍

조금 더 편하게 하려면

위처럼 하면 매번 정렬을 해줘야하는데 맨날 까먹는다. IntelliJ에서 commit 이전에 정렬해주는 기능도 있던데 나는 commit을 보통 github desktop 또는 터미널에서 하니까 이 기능을 써본적이 없다.

save on actions 기능을 사용하면 저장할 때 정렬이랑 미사용 import 제거 (optimize import) 등을 자동화 할 수 있다.
(플러그인도 있고 IntelliJ 기능도 있으니 아무거나 쓰면 된다. 특정 형식의 파일에만 실행하도록 지정할 수도 있다.)

끝으로

이번 주는 너무 바빠서(아마 이번달 내내) 급하게 급조해서 쓰느라 내용이 짧은데 다음 주 부터는 좀 더 성의있게 써야겠다. 근데 글 퀄리티는 이정도로 유지하고 싶다. 너무 숙제처럼 하고싶지는 않아~ 일기장마냥 써야겠어.

누가 이 글 보고 참고할런지 모르겠는데 예~전에 써둔 글 조회수 보면 이 아래까지는 아무도 안 볼 것 같아서 마음은 편하다.
누군가 보고 계신다면 손 한번 흔들어줘요. 👋

원래 OCI 할라했는데 오라클 왜 카드 등록 자꾸 빠꾸먹이고 요청 여러번 했다고 요청 블락 먹이는지 오라클 안티 될 것 같음.

진짜 끝.

profile
가볍게 쓰는 내용들이라 주관과 틀린 내용이 많습니다. 비판적인 시각으로 봐주시고 지적은 환영 :)

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

기회 될 때 참고해 봐야겠네요 잘 읽었습니다 👋

답글 달기