☑️ 코드 컨벤션

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 다음 네이밍 컨벤션에 맞춰 작성합니다

대상 네이밍 컨벤션 예시
메서드 camelCase deleteData()
변수 camelCase userName
클래스(객체) PascalCase UserSession
디렉토리(패키지)명 kebab-case images/, api-service/
파일명 camelCase useDragOn.ts
상수 UPPER_SNAKE_CASE MAX_RETRY_COUNT

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 주석은 설명하려는 구문에 맞춰 들여쓰기 합니다.

// Good
function someFunction() {
  ...

  // statement에 관한 주석
  statements
}

</aside>

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 다음 내용에 맞춰 Setter 사용은 지양합니다

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> Entity / DAO / DTO의 경우 Wrapper 클래스로 통일합니다

</aside>

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 객체 생성 시 new 키워드 사용은 지양합니다

@Getter
@Builder
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class Cart {    
		private Long cartId;
    private Long userId;
    private Long productId;
    private Integer quantity;

    
    ~~// 정적 팩토리 메서드
    public static Cart userProductQuantityOf(Users user, Product product, Integer quantity) {
        return new Cart(user, product, quantity);
    }~~
}

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> .ENV 파일의 경우 레포지토리에 올리지 않고 카카오톡을 통해 공유

</aside>

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> Dto 클래스 네이밍 컨벤션은 다음과 같음

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 실패 응답의 경우 전역 예외 처리 모듈에서 일괄 처리

<aside> <img src="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" alt="https://cdn-icons-png.flaticon.com/512/3602/3602241.png" width="40px" /> 본인 userId 조회 시