코드 컨벤션에 대해서
오늘은 우아한 테크 캠프 교육을 통해 배운 컨벤션
에 대해서 기록하려고 합니다.
처음 시작된 교육과 함께 주어진 미션은 자동차 경주 게임 구현 !
구현하기 위해 필요한 요구사항과 JAVA와 GIT의 컨벤션, TDD의 중요성에 대해서 학습했습니다.
먼저, 다음 페이지에서 자바코딩컨벤션 을 상세히 볼 수 있습니다.
이와 함께 소트웍스 앤솔러지 책에서 다루고 있는 객체지향 생활 체조원칙
에 대해서도 알아보려고 합니다.
왜 객체지향 생활 체조 원칙인가?
이 원칙은 좋은 내용을 구체적인 가이드로 제시하고 있기 때문에 리팩토링할 부분을 쉽게 찾을 수 있게 도와줍니다. 아래에서 소개할 원칙을 지키면서 코딩을 한다면 객체지향적인 코드를 작성할 수 있다고 생각하니 지속적인 연습을 할 것을 추천합니다 !
객체지향 생활 체조 원칙
1. 한 메서드에 오직 한 단계의 들여쓰기만 한다.
2. else 예약어를 쓰지 않는다.
3. 모든 원시값과 문자열을 포장한다.
4. 한 줄에 점을 하나만 찍는다.
5. 줄여쓰지 않는다(축약금지)
6. 모든 엔티티를 작게 유지한다.
7. 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
8. 일급 콜렉션을 쓴다.
9. 게터/세터/프로퍼티를 쓰지 않는다.
몇가지 이해가 가지 않는 원칙들은 추후 더 자세한 내용을 다뤄보도록 하겠습니다.
다음은 AngularJS의 GIT Commit Message Convetions
에 대해서 알아보겠습니다.
다음 페이지에 자세한 사항이 나와있으니 참고해보세요 ! GIT Convetions
아래와 같이 간략하게 정리해보았습니다.
좋은 git commit message를 작성하기 위한 7가지 약속
1. 제목과 본문을 한 줄 띄워 분리하기
2. 제목은 영문 기준 50자 이내로
3. 제목 첫글자를 대문자로
4. 제목 끝에 .금지
5. 제목은 명령조로
6. 본문은 영문 기준 72자마다 줄 바꾸기
7. 본문은 어떻게 보다 무엇을, 왜 에 맞춰 작성하기
커밋 유형
- feat : 새로운 기능 추가, 삭제, 변경 (제품 코드 수정 발생)
- fix : 버그 수정 (제품 코드 수정 발생)
- docs : 문서 추가, 삭제, 변경 (코드 수정 없음)
- style : 스타일 관련 기능(코드 형식, 정렬, 주석 등의 변경)
- refactor : 코드 리팩토링 (제품코드 수정 발생)
- test : 테스트 코드 추가 (테스트 코드에 관련된 모든 변경에 해당)
- chore : 빌드 업무 수정, 패키지 매니저 수정(.gitignore 수정 같은 경우)
예시)
feat: 패킷 송신 이벤트에 관련된 로그 출력 기능 추가
커밋에 대한 자세한 설명..
Resolves: #123
Ref: #456
Related to: #48, #45
코드 컨벤션은 참으로 어려운 것 같습니다. 앞으로 꾸준히 연습을 해야겠어요 :)
Leave a comment