<aside> ❗ 본 문서는 초기 개발 환경을 설정하는 방법을 안내합니다.

</aside>

설정

시작하기

본 문서는 프로젝트 로컬 개발 환경 설정에 대한 전반적 이해를 돕는 것을 목적으로 합니다.

<aside> ❗ 해당 문서는 항상 최신 상태를 유지해야 합니다. 초기 개발환경 설정에 영향을 주는 경우가 있는 경우 해당 문서를 업데이트해 주세요. 각 단계에서 문제가 발생하면, 해당 단계의 명령어와 설정 파일을 다시 확인하고, 필요한 경우 팀원에게 문의하세요.

</aside>

Lint 도구 설정

본 프로젝트는 코드 품질을 높이고 일관성을 유지하기 위해 Lint 도구를 적극적으로 사용합니다.

Checkstyle

Checkstyle은 코드 스타일 가이드를 준수하도록 돕는 도구입니다. IntelliJ IDEA에서 CheckStyle-IDEA 플러그인을 설치하고 설정하는 방법을 안내합니다. 이를 통해 본 프로젝트의 코드 스타일을 일관성 있게 유지할 수 있습니다. 본 프로젝트는 네이버 캠퍼스 핵데이 Java 코딩 컨벤션 을 준수합니다.

  1. IntelliJ IDEA에서 CheckStyle-IDEA 플러그인을 찾아 Install 버튼을 클릭합니다.

  2. Settings -> Checkstyle로 이동하여 아래와 같이 설정합니다.

    스크린샷 2024-07-19 오전 12.55.31.png

  3. Configuration File+ 버튼을 누른 뒤, naver-checkstyle-rules.xml 파일을 아래와 같이 설정합니다.

    스크린샷 2024-07-19 오전 1.00.27.png

    참고: Checkstyle 파일 경로는 현재 프로젝트 내의 toduck-backend/rule-config/naver-checkstyle-rules.xml입니다. 해당 파일의 원본은 https://github.com/naver/hackday-conventions-java/tree/master/rule-config에 있습니다.

    1. Next를 누르면 위와 같은 창이 뜨고, 프로퍼티 설정의 Value 부분을 이전에 받았던 naver-checkstyle-suppressions.xml로 작성합니다.

    스크린샷 2024-07-19 오전 1.01.51.png

저장 시 코드 포메팅 수행하기

저장 시 코드 포맷팅을 자동으로 수행하여 코드 일관성을 유지하도록 합니다.

  1. Editor -> Code Style -> Java에서 IntelliJ IDEA code style XML을 클릭합니다. 이후에 yabam/rule-config/naver-intellij-formatter 경로의 파일을 선택합니다.

    스크린샷 2024-07-25 오후 5.05.48.png

  2. 설정→ 저장 시 액션에서 위에 두 항목 체크 후 저장한다.

    스크린샷 2024-07-19 오전 1.06.59.png

Husky

Husky는 Git 훅을 쉽게 관리할 수 있게 해주는 도구입니다. 이를 통해 커밋, 푸시 등의 Git 이벤트 전에 Lint 검사를 자동으로 수행할 수 있습니다. Husky 설정은 프로젝트 루트 디렉토리의 .husky 폴더를 참조합니다. 아래 명령어를 통해 husky 관련 의존성을 설치합니다.

npm install

현재 다음과 같은 경우에 Commit을 금지하고 있습니다.

  1. 커밋 메시지가 컨벤션에 맞지 않는 경우
  2. 코드 컨벤션이 맞지 않는 경우

Commit 조건은 ./.husky/pre-commit 파일에서 관리합니다.