네이밍
클래스 네이밍
<aside>
💡 가급적 3글자 이하 명사
</aside>
- 접미사로 controller, serviceImpl, repository, util, config, handler 등 클래스의 목적을 가장 마지막에 붙인다.
변수 네이밍
상수
메소드 네이밍
Controller
- 접두사: 소문자 동사로 시작
- CRUD인 경우 : get, create, update, delete
- CRUD 아닐 경우: API 주소의 동사 그대로
Service
- get, create, update, delete 또는 API 목적에 맞는 동사
JPA repository
- JPQL: insert, select, delete, update
- JPA: find, count
주석 작성법
<aside>
💡 Intellij에서 지원 (/** */)
</aside>
클래스 주석
**/****
* {클래스 목적 설명 작성}
***/**
-
클래스 위에 작성
인라인 주석
- 인라인 주석은 최대한 지양
- 복잡한 코드 설명: 1, 2줄 정도만 사용
메소드 주석
**/****
* {메소드 목적 설명}
* **@param** {변수명} [type] {변수 설명}
* **@param2** {변수명} [type] {변수 설명}
* **return** [type] {무엇을 반환하는지 설명}
* **throws** {예외클래스} {설명}
***/**
API URL (REST형식)
kebab-case-style
- 케밥 케이스
- /명사/명사/...
- REST API 로 하되 유연하게 동사를 작성
- 동사는 마지막에
(컨트롤러 메서드 이름과 매핑)
Entity / DTO
DTO
- 클래스 이름: {엔티티이름(컨트롤러동사)}Dto
- DTO 클래스 안에 response, request 를 inner class로 포함
Entity
TODO (로직 구현 아직 안했을 때 사용)
참고