-
Notifications
You must be signed in to change notification settings - Fork 0
개발 규칙
JeroCaller edited this page Aug 18, 2025
·
3 revisions
-
네이밍 규칙
- 클래스명: PascalCase (예:
MyClass) - 메서드명: camelCase (예:
myMethod) - 변수명: camelCase (예:
myVariable) - 상수명: UPPER_SNAKE_CASE (예:
MAX_VALUE)
- 클래스명: PascalCase (예:
-
들여쓰기
- 탭 공백 4칸
-
주석
- 클래스, 메서드, 복잡한 로직에 대한 설명은 Javadoc 형식으로 작성
- 코드 블록에 대한 설명은 인라인 주석 사용
/** * ex. Javadoc 형식 */ // 인라인 주석
- 기본 패키지 구조:
com.acorn - 기능별 패키지 구분
(
controller,service,repository, … )
-
네이밍 규칙
-
테이블명: snake_case, 복수형으로 작성 (예:
members) -
컬럼명: snake_case, 테이블명 없이 풀네임으로 작성 (예: no, name, address, … ) 외래키 참조 시 ‘테이블명 단수형’_’필드명’ (예:
member_id) -
PK: no, 자동증가 설정 (예:
no INT PRIMARY KEY AUTO_INCREMENT) -
불분명한 표현 사용 X
(예:
product_B)
-
-
형식
- 대문자로 SQL 키워드 작성
(예:
SELECT,FROM,WHERE) - 쿼리의 각 절은 새로운 줄에 작성
- 대문자로 SQL 키워드 작성
(예:
- 기본 구조:
src/main/java,src/main/resources,src/test/java - 설정 파일:
application.properties또는application.yml사용
- Gradle 사용
- 의존성 추가 시 주석으로 설명 추가
// gradle 주석# properties.application 주석 (UTF-8 인코딩 설정)-
브랜치 전략
- Git flow 기반
- main, develop, feat 세 브랜치를 사용
- main: 배포 준비 완료된 소스 코드 업로드용
- develop: 개발 중에 있는 브랜치. develop에서 배포 준비 완료 시 main으로 merge.
- feat: 기능 개발용 브랜치. develop에서 생성하여 develop으로 merge한다. 이미 merge된 브랜치는 삭제한다.
-
브랜치 네이밍
- 기능 개발:
feature/기능명 - 버그 수정:
fix/버그명
- 기능 개발:
-
커밋 메시지
-
형식:
타입: 간단한 설명- 타입:
feat,fix,docs,style,refactor,test,chore
- 타입:
-
feat (새로운 기능 추가)
예시)
feat: 사용자 로그인 기능 추가 feat: 상품 페이지에 검색 필터 기능 구현 feat: 다크 모드 전환 기능 추가- fix (버그 수정)
예시)
fix: 폼 유효성 검사 문제 해결 fix: 사용자 프로필 사진 로딩 오류 수정 fix: 대용량 파일 업로드 시 발생하는 충돌 해결- docs (문서 수정)
예시)
docs: 설치 방법 README 업데이트 docs: 새로운 API 엔드포인트에 대한 문서 추가 docs: 기여 가이드라인의 오타 수정- style (코드 스타일 관련 변경, 로직은 변경 없음)
예시)
style: utils.js에서 코드 들여쓰기 수정 style: 사용되지 않는 컴포넌트의 import 제거 style: main.scss에 누락된 세미콜론 추가- refactor (코드 리팩토링, 기능 변화 없음)
예시)
refactor: 서비스 레이어에서 API 요청 처리 간소화 refactor: 큰 함수 분리하여 작은 메소드로 재구성 refactor: 레거시 인증 로직을 새로운 모듈로 이전- test (테스트 코드 추가 또는 수정)
예시)
test: 사용자 서비스에 대한 단위 테스트 추가 test: 예약 모듈의 기존 통합 테스트 리팩토링 test: API 테스트 케이스에 대한 Mock 데이터 구현- chore (빌드 관련 작업 및 기타 잡무)
예시)
chore: 로그 제외를 위해 .gitignore 업데이트 chore: 배포를 위한 버전 업데이트 chore: package.json에서 의존성 업데이트참고 사이트 : [ Git | git 커밋 컨벤션 설정하기 ]
-
- PR 제목은 간단명료하게 작성
- PR 설명에 변경 사항 및 리뷰 요청 사항 기재