Code Conventions

anjiyoo·2024년 11월 7일

개발

목록 보기
2/5
post-thumbnail

나만의 코드? 우리의 코드!

혼자 개발하는 상황이라면 코드 컨벤션의 필요성을 못 느낄 수 있다. 본인이 작성한 코드이기에 쉽게 있기 때문...

이 코드가 무슨 코드인지는 오직 신과 나만이 안다. 그리고 이제는 오직 신만이 아신다.

하지만 시간이 지난 후엔 어떨까? 코드를 작성하고 시간이 꽤 흐른 뒤에도 전부 기억할 수 있을까?

만약 내가 작성한 코드를 다른 사람이 이해하고 활용해야하는 상황이라면 나의 코드 스타일을 다른 사람이 이해하기까지 걸리는 시간도 적지 않을 것이다.

이런 상황들을 미연에 방지하기 위해 우린 컨벤션을 사용한다.


컨벤션이란?

컨벤션은 소프트웨어 개발에서 코드 작성 및 프로젝트 관리 시 지켜야 할 일종의 규칙이나 약속을 말한다.

컨벤션은 팀 또는 커뮤니티 내에서 코드를 일관성 있고 가독성 있게 유지하기 위한 목적으로 사용된다.

프로그램은 사람들에게 읽히기 위한 목적으로 만들어져야하고, 우연히 컴퓨터가 실행할 수 있다면 더욱 좋다.

결론적으로 코드 컨벤션의 궁긍적 목표는 누구나 쉽게 코드를 이해하고 사용할 수 있게 하기 위함이라 말할 수 있다.

📌 컨벤션 : 코드 작성이나 프로젝트 협업 시 미리 정한 규칙


코딩 컨벤션? 코드 컨벤션?

헷갈리는 두 단어의 의미를 알아보자.

코딩 컨벤션
코드를 작성하는 방법에 대한 규칙을 포괄적으로 의미한다.
코드 스타일뿐만 아니라 파일 구조, 모듈화 방식 등 
개발자가 코드를 작성하는 방식 전반에 대한 규칙이다.
코드 컨벤션
코드 스타일에 대한 상세한 규칙을 의미한다.
변수명, 함수명 작성법, 공백 처리, 주석 작성 방식 등 
구체적인 코드 형태와 관련된 규칙이다.

두 용어는 서로 같은 의미를 사용하지만, 코딩 컨벤션이 더 포괄적인 의미이다.


대표적인 코드 컨벤션

1.이름 규칙(Naming Rules) 
2.들여쓰기 및 공백 (Indentation and Spacing)
3.주석 규칙 (Commenting Conventions)
4.파일 및 폴더 구조 (File and Folder Structure)
5.커밋 메시지 규칙 (Commit Message Conventions)

Commit Message

커밋 메세지를 잘 작성하는 것은 협업에서 기본적인 습관이다.

내가 다른 사람의 작업 내용을 한 눈에 파악할 수 없다면 다른 사람 역시 내가 작성한 커밋에 대한 내용을 파악하기 어려울 것이다.

팀에서 함께 같은 컨벤션(커밋 메세지 규칙)으로 협업한다면 히스토리를 파악하고 코드 리뷰도 단시간에 해결할 수 있을 것이다.

Commit Message Formats

Type : Subject
Body
Footer

Commit Message Type

Type의미
Feat새로운 기능에 대한 커밋
Fix버그 수정
Build빌드 관련 파일 수정
CiCI 관련 설정 수정
Docs문서(문서 추가, 수정, 삭제)
Style스타일(코드 형식, 세미콜론 추가)
Refactor코드 리팩토링
Test테스트(테스트 코드 추가, 수정, 삭제)
Chore기타 변경사항(삘드 스크립트 수정 등

Commit Message Subject

커밋 메세지의 제목

Feat: 신규 RFID 인식 기능 추가
  • 제목은 최대 50자, 마침표X
  • 커밋 타입 : 커밋 제목 형태
  • 명령조로 작성
  • 제목과 본문은 한 줄 띄워 분리
  • 제목의 첫 글자는 반드시 대문자
  • 이슈에 관한 내용이면 이슈 번호를 붙힘

Commit Message Body

커밋 메세지의 본문

  • 선택 사항으로 모든 커밋에 작성할 필요X
  • 최대 72자
  • 무엇(what), 왜(why)에 집중하여 내용 작성
  • 설명 또는 커밋 이유 작성할 때 작성'
신규 RFID 기능 인식 기능 추가
  - RFIDReader.java: 사용자 요건 사항으로 인한 RFID 인식 기능 추가

커밋 메세지의 맺음말

  • 선택 사항으로 모든 커밋에 작성할 필요X
  • 이슈 추적을 위한 ID를 추가할 때 사용
  • 해결한 이슈 ID
  • 해당 커밋에 관련된 이슈 ID
  • 참고할만한 이슈 ID
해결: #123
관련: #321
참고: #222
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글