-
Notifications
You must be signed in to change notification settings - Fork 3
4. 코드 컨벤션
🔹 BaseResponse를 사용하여 API 응답을 일관되게 처리
🔹 BaseResponse 클래스는 요청의 성공 시 SUCCSS 상태의 "메시지", "상태 코드", "결과 데이터"를 포함.
🔹 예외는 발생한 위치에서 throws BaseException을 통해 BaseResponseStatus를 포함하여 상위 클래스로 전달
🔹 최종적으로 Hexangonal Arichitecture의 InnerAdapter인 controller에서 try-catch를 이용하여 처리
🔹 Spring Security를 사용하며, filter처리 과정에서 발생하는 로그인 에러는 BaseResponse형태로 CustomAutheticationEntryPoint를 활용하여, direct응답으로 처리
🔹 DTO는 요청(Request)과 응답(Response) 패키지로 구분,
클래스 이름은 CreatePaymentRequest
와 같은 형식으로 통일한다
🔹 서비스 클래스는 implement하는 해당 기능의 UseCase 이름에 service를 붙여 명명
ex)
SignupSerivce (O)
SignupImpl(X)
🔹Controller는 Usecase를 기준으로 하여 Create/Read/그 외 기능으로 분류
🔹Spring Code 내 생성자, 변수, 클래스명은 대문자 카멜 케이스를 사용한다.
class ProgramController{
...
};
private String programName;
private String programInfo;
private LocalDateTime reservationOpenDate;
private LocalDateTime programStartDate;
private LocalDateTime programEndDate;
🔹client가 서버로 요청하는 Mapping주소는 소문자와 "-"(hyphen)의 결합 형태로 작성
ex)
/main-page (O)
'/mainPage(X)`
🔹브랜치명
[제목 / 기능 / 상세기능]
feature/program/create
🔹이슈명
[Type] 이슈명
[Refactor] 예약 가능 좌석 성능 개선
Type | 설명 |
---|---|
Feat | 새로운 기능 추가 |
Fix | 버그 수정 또는 typo |
Refactor | 리팩토링 |
Design | CSS 등 사용자 UI 디자인 변경 |
Comment | 필요한 주석 추가 및 변경 |
Style | 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 |
Test | 테스트(테스트 코드 추가, 수정, 삭제, 비즈니스 로직에 변경이 없는 경우) |
Chore | 위에 걸리지 않는 기타 변경사항(빌드 스크립트 수정, assets image, 패키지 매니저 등) |
Init | 프로젝트 초기 생성 |
Rename | 파일 혹은 폴더명 수정하거나 옮기는 경우 |
Remove | 파일을 삭제하는 작업만 수행하는 경우 |