Skip to content

Convention

wintiger98 edited this page Apr 8, 2024 · 1 revision

기술 컨벤션 규칙

프로젝트의 일관성과 가독성을 유지하기 위해 다음과 같은 기술 컨벤션 규칙을 적용합니다. 모든 팀원은 아래 규칙을 준수하여 코드를 작성하고 관리해야 합니다.

1. Naming Convention 이슈#39

DTO (Data Transfer Object)

  • 규칙: DTO의 이름에는 DTO 접미사를 사용하지 않습니다.
  • 예시: 사용자 정보를 전달하는 DTO의 경우 UserInfo와 같이 명명합니다.

Interface Implementation

  • 규칙: 인터페이스 구현체의 이름에는 Impl 접미사를 사용하지 않습니다.
  • 예시: PaymentService 인터페이스의 구현체를 PaymentOperation과 같이 명명합니다.

Service Layer

  • 규칙: 서비스 레이어에서 인터페이스는 꼭 필요한 경우에만 정의합니다.
  • 설명: 명확한 이유 없이 서비스 레이어에서 인터페이스를 생성하는 것은 피합니다.

2. Git Convention 이슈#40

Commit Message

  • 규칙: 커밋 메시지는 Gitmoji와 태그 이름을 사용하여 설명합니다.
  • 예시: :sparkles: [Add] 사용자 로그인 기능 추가

3. Test Convention

Test Method Name

  • 규칙: 테스트 메서드의 이름은 한국어로 명시합니다. [도메인][기능][성공/예외(자세히)]테스트
  • 예시: 사용자회원가입성공테스트, 사용자회원가입중복아이디예외테스트

DisplayName

  • 규칙: 테스트의 DisplayName은 한국어로 명시합니다. 테스트 메서드 이름에 띄어쓰기 붙여서 작성합니다.
  • 예시: @DisplayName("사용자 회원가입 성공 테스트")

필수 테스트

  • 규칙: Controller, Service, Repository에 대한 테스트가 필요합니다.
  • 설명: 각 계층의 기능별로 적절한 단위 테스트를 구현하여 코드의 안정성을 보장합니다.

4. PR (Pull Request) 방식

세분화된 태스크

  • 규칙: 태스크 별 PR 방식을 유지하되, 태스크를 더욱 세분화합니다.
  • 설명: PR은 명확하고 구체적인 태스크 단위로 제출하여, 리뷰의 효율성을 높이고 프로젝트의 관리를 용이하게 합니다.

이러한 컨벤션 규칙은 프로젝트의 효율적인 협업과 고품질의 코드 관리를 위한 기반이 됩니다. 모든 팀원은 이 규칙을 준수하여 프로젝트에 기여해 주시길 바랍니다.