Skip to content

Coding Convention

dowon0113 edited this page Mar 12, 2025 · 2 revisions

1. 명명법 (Naming Convention)

Java 코드 명명법

분류 명명법 예시 기타
패키지명 전부 소문자, 명사 사용 com.sparta.~
org.sparta.~
클래스 PascalCase (첫 글자 대문자) TodoController
변수명, 메서드명 camelCase (첫 글자 소문자) saveTodo() Boolean 타입 변수/메서드는 is 접두사 사용 (isSaveCheck)
날짜 관련 필드 snake_case 사용 createdAt
modifiedAt
deletedAt
DTO 명 엔티티명 + 행동 동사 + Request/Response (PascalCase) TodoSaveRequest
TodoDeleteRequest
TodoSearchRequest
상수, ErrorCode 전체 대문자, 언더바(_)로 구분 USER_NOT_FOUND

메서드 명명법

분류 명명법 예시
생성 save + 엔티티 saveTodo()
단건 조회 get + 엔티티
get + 엔티티 + 조회항목
getTodo()
getTodoTitle()
다건 조회 get + 엔티티 + s
get + 엔티티 + 조회항목 + s
getTodos()
getTodoTitles()
수정 update + 엔티티
update + 엔티티 + 수정항목
updateTodo()
updateTodoTitle()
삭제 delete + 엔티티 deleteTodo()



2. ERD & 데이터베이스 명명법

분류 명명법 예시 기타
Table 이름 복수형, snake_case (소문자, _ 사용) users
todos
created_at
modified_at
deleted_at
Column 이름 snake_case 사용 user_id

Spring Boot Entity 생성 시

@Table(name = "명명된 테이블명")
@Column(name = "명명된 칼럼명")
  • @Table(name = "명명된 테이블명")
  • @Column(name = "명명된 칼럼명")
  • 반드시 설정



3. API 명세서 작성시 URI 명명법

URI 명명 규칙

분류 명명법 예시
REST API kebab-case 사용 (공백에 - 사용) /restful-services
JSON 필드명 camelCase 사용 json { "itemName": "string", "itemDescription": "string", "itemUrl": "string", "userId": "long" }

REST API URI 작성 규칙

동사보단 명사, 단수보단 복수
/member/get/item/hello (X)
/members/items (O)

마지막에 / 넣지 않기
/members/ (X)
/members (O)

_ 대신 - 사용 + 대문자 사용하지 않기
/restful_services (X)
/restful-services (O)

확장자 포함하지 않기
/image.svg (X)
/images (O)

계층화
/items/{memberId}/members/{itemId} (X)
/members/{memberId}/items/{itemId} (O)



4. 주석 컨벤션

분류 명명법 예시
2문장 이상 /* 긴 주석 */ java /* 긴 주석입니다. */
1문장 // 짧은 주석 java // 짧은 주석입니다.
개발 완료 후 develop → main 병합 시 주석 제거



5. Git & GitHub 컨벤션

.gitignore 설정

*.properties
*.yml
*.yaml
  • .yaml 파일은 GitHub에 올리지 않음 → 팀 노션에서 관리

Branch 전략

브랜치 설명 예시
main 메인 브랜치
develop 개발 브랜치
feat/엔티티명 기능 개발 브랜치 feat/order
feat/user
feat/comment
feat/todo
refactor/엔티티명 코드 리팩토링 브랜치 refactor/order
fix/엔티티명 버그 수정 브랜치 fix/order
test/엔티티명 테스트 브랜치 test/order
test/user
test/comment
test/todo

기능 개발 완료 후 브랜치 삭제
브랜치명은 모두 소문자 사용
Git rebase 사용

Clone this wiki locally