1. 개발 환경 및 규칙 | 코드 컨벤션 - DDD-Community/DDD-12-MOYORAK-API GitHub Wiki
함께 관리하는 프로젝트의 코드 품질을 높히기 위한 최소한의 약속입니다.
잘 짜인 코드 한 줄 보다, 모두가 이해할 수 있는 코드까 훨씬 더 좋은 코드로 프로젝트를 관리해 봅시다.
- 가독성 향상
- 어떤 사람이 읽더라도 익숙한 구조로 코드 읽기가 가능해집니다.
- 들여쓰기, 변수명 작성 방식이 통일되면 코드 흐름 파악이 쉬워집니다.
- 결국, 잘 작성된 코드는 주석 혹은 설명이 필요 없다는 말도 컨벤션이 있어야 가능한 말입니다.
- 쉬운 협업
- 서로간의 코드 스타일이 일관되면, 이해도가 높아집니다.
- 컨벤션이 없다면, PR 리뷰 내용 대부분이 스타일에 대한 이야기일 확률이 커집니다.
- 불필요한 논쟁 감소
- 모두가 같은 룰을 따르게 되면, 리뷰와 머지 등 전반적인 프로덕트 개발 속도가 빨라집니다.
- 지속 가능한 코드
- 시간이 지나더라도, 혹은 다른 추가 인원이 생기더라도 언제나 이해하기 쉬운 코드가 유지됩니다.
- 다른 사람이 작성한 코드여도 불필요한 해석 없이 빠르기 이해하고 유지보수가 가능해집니다.
- 모든 명명(클래스, 변수, 메서드, Enum 등)은 영어로 작성합니다.
- 한국어 식별자 사용은 금지합니다.
- 도메인에 맞는 명확한 의미의 영문 표현을 사용합니다.
// ❌ 잘못된 예시
public enum ReservationStatus {
예약됨,
취소됨
}
// ✅ 올바른 예시
public enum ReservationStatus {
RESERVED,
CANCELED
}
Google Java Style Guide는 구글에서 작성한 자바 코드 스타일 가이드라인입니다.
자바 코드를 작성할 때 일관성 있고 읽기 쉬운 코드를 유지하기 위해 구글 내부에서 정립한 규칙들을 모아둔 문서입니다.
- 🔗 한국 번역글 읽어보기 : https://github.com/JunHoPark93/google-java-styleguide
spotless를 사용하여 코드 스타일과 포맷팅을 자동화 예정이지만,
파일명이나 파일 구조 자체에 대한 검사는 수행하지 않으므로, 이에 대한 규칙은 별도로 관리합니다.
- 소스 파일명은 영어로 작성하며, 대문자로 시작하는 카멜 케이스(CamelCase)를 따릅니다.
- 반드시 .java 확장자를 사용해야 합니다.
예: AuthService.java, UserProfileHandler.java
-
가이드 라인 설정
- .editorconfig 적용
- google java style guide 기반의 spotless + git hook 적용
- .gitattribute 적용