👍 무엇을 새롭게 알았는지
Java 프로젝트 세팅 및 파일 세팅에 있어 기본 개념에 대해 알 필요가 있음
- 카멜 케이스 (camel Case)
- 대문자가 혹처럼 튀어나오는 경우
- 스네이크 케이스 (snake_case)
- 밑줄이 뱀처럼 이어지게 됨
- 패키지(폴더)
- 소문자명으로만 작성하도록 하는 것이 원칙 (숫자 시작, 특수문자, 예약어 사용 금지)
- 클래스(파일)
- 클래스의 이름은 첫글자 대문자 + 카멜케이스의 조합으로 작성
- 이를 Pascal Case라고 함
- 클래스의 이름은 첫글자 대문자 + 카멜케이스의 조합으로 작성
과제 진행 간 자주 사용하게 될 Commit, 그리고 그에 대한 커밋 컨벤션 관련 내용 정리
- 커밋 메시지는 제목,본문,꼬리말 세가지 파트로 나누고 각 파트는 빈줄을 두어서 구분해야 함
- type : 어떤 의도로 커밋했는지를 명시
- subject : 최대 50글자가 넘지 않도록 하며 마침표는 찍지 않음
- body : 긴 설명이 필요한 경우 작성. 무엇을 왜 했는지에 대해서 작성 (75자 이내)
- footer : issue tracker ID 를 명시하고 싶은 경우 작성
타입
: 타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 해야 함
"태그:제목"의 양식이며, : 뒤에만 공백 한칸을 주고 작성 해야함을 명심!
| 태그 이름 | 설명 |
| Feat | 새로운 기능을 추가할 경우 |
| Fix | 버그를 고친 경우 |
| Design | CSS 등 사용자 UI 디자인 변경 |
| !BREAKING CHANCE | 커다란 API 변경의 경우 |
| !HOTFIX | 급하게 치명적인 버그를 고쳐야 하는 경우 |
| Style | 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 |
| Refactor | 프로덕션 코드 리팩토링 |
| Comment | 필요한 주석 추가 및 변경 |
| Docs | 문서를 수정한 경우 |
| Test | 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X) |
| Chore | 빌드 테스트 업데이트, 패키지 매니저 설정하는 경우 (프로덕션 코드 변경 X) |
| Rename | 파일 혹은 폴더명을 수정하거나 옮기는 작업을 하는 경우 |
| Remove | 파일을 삭제하는 작업만 수행한 경우 |
* 프로덕션 코드란? 사용자가 실제로 사용하게 될, 프로그램의 핵심 기능을 구현하는 소스 코드를 의미
태그 (기능, 개선, 그 외 로 구분하여 작성)
기능
: Feat, Fix, Design, !BREAKING CHANGE 태그가 기능 태그의 종류
개선
: Style, Refactor, Comment
그 외
: Docs, Test, Chore, Rename, Remove
제목 작성 방법 및 규칙
규칙
1. 제목의 처음은 동사 원형으로 시작
2. 총 글자 수는 50자 이내로 작성
3. 마지막에 특수문자 삽입 X
4. 제목은 개조식 구문으로 작성
작성 방법
영어로만 작성하는 경우
1. 첫 글자는 대문자로 작성
2. Fix, Add, Change 의 명령어로 시작
한글로 제목을 작성하는 경우
1. 고침, 추가, 변경으 명령어로 시작
본문 작성 방법 및 규칙
1. 본문은 한 줄 당 72자 내로 작성
2. 본문 내용은 양에 구애받지 않고 최대한 상세히 작성
3. 본문 내용은 어떻게 변경했는지 보다 무엇을 변경했는지 또는 왜 변경했는지 설명
꼬리말 작성 방법 및 규칙
1. 꼬리말은 선택항목이며 필요 시 issue Tracker ID를 작성
2. 꼬리말은 유형: #이슈 번호 형식으로 사용
3. 여러개의 이슈 번호 작성 시에는 쉼표로 구분
4. 이슈 트래커 유형은 다음 중 하나를 사용하여 작성
- Fixes : 이슈 수정 중 (아직 해결되지 않은 경우)
- Resolves : 이슈를 해결했을 때 사용
- Ref : 참고할 이슈가 있을 때 사용
- Related to : 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)
커밋 메시지 Emoji
- 보다 효율적인 커밋 관리를 위해서 약속하여 사용할 수 있음
'JAVA' 카테고리의 다른 글
| [JAVA] 자바 개념 확장 - Exception, Optional, Colletion (0) | 2025.09.17 |
|---|---|
| JAVA 객체지향 개념 정리 (1) | 2025.09.16 |
| JSP/Servlet 기초 (1) | 2025.09.05 |
| Thymleaf (0) | 2025.09.05 |
| Java 문법 기초 (1) | 2025.09.05 |