- 이슈 생성 시 진행하고자 하는 task에 맞춰서 Get started
- 이슈 title: [타입] + 실제 수행할 task 목록
ex) [Feat] API 응답 base code 구현
- 이슈 description: 진행한 task 자유롭게 요약
- Development의 Create a branch로 브랜치 생성
- [타입]/#이슈번호
ex) feature/#5
🟢 각 브랜치에서 main으로 PR 올리기
🟢 PR 생성 후 팀원 2명 이상에게 코드 리뷰 받아야 merge 가능
🟢 PR 내용은 아래의 템플릿을 사용한다
ex) #이슈번호, #이슈번호
이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)
리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?
✅ 들여쓰기는 4칸
✅ indent depth(들여쓰기)는 최대한 2까지 맞추도록(반복문 남용 금지)
✅ 클래스명은 PascalCase, 메서드와 변수는 camelCase
✅ 주석 작성 시 "클래스와 메서드"에는 Javadoc 스타일 사용
💡Example
/**
* 사용자 정보를 ID로 조회합니다.
*
* @param userId 조회할 사용자의 ID
* @return 사용자 정보
*/
✅ 코드 내 주석은 필요 시 추가, 불필요한 주석은 제거
- 클래스 레벨의 애노테이션 순서는 다음과 같이 작성한다
1) @Controller, @Service, @Repository 등 주요 역할 지정 2) @RequestMapping, @GetMapping, @PostMapping 등 HTTP 관련 애노테이션 3) 기타(예: @Transactional, @Cacheable)
- Spring에서는 생성자 주입을 기본으로 사용하며, @Autowired 필드 주입은 지양
- HTTP 응답 코드는 명확히 설정하고, 반환 타입으로는 DTO 사용
- DTO는 외부에 노출되는 데이터를 정의하며, Entity는 내부 데이터베이스와 매핑
- Entity를 직접 컨트롤러에서 반환하지 말고, 서비스 계층에서 변환