저는 커밋 메시지를 영어로 작성하고 있습니다.
개발자가 반드시 배워야 하는 언어 하나를 꼽으라면 C, JAVA, Python 등이 아니라 영어라는 말도 있지요.
그래서 그런지 저는 예전부터 커밋 메시지를 영어로 쓰고 싶다는 생각이 있었습니다.
하지만 저는 영어를 편하게 사용할 수준이 안되어 감히 시도를 못 했지요.
그러나 약 2년 전 즈음, 회사에서 시작한 새로운 프로젝트를 함께한 동료분께서는 항상 커밋 메시지를 영어로 작성하고 계셨습니다.
그분이 가능하면 커밋 메시지를 영어로 썼으면 좋겠다고 하셔서 그때부터 저도 영어로 작성해야만 했습니다.
영어 작문 실력이 꽝이라 저는 커밋 메시지를 쓸 때마다 번역기의 힘을 빌렸지요.
하지만 언제까지나 번역기의 힘을 빌릴 수만은 없는 법.
스스로 커밋 메시지를 영어로 쓰고 싶다는 생각이 피어올랐습니다.
그래서 영어로 커밋 메시지를 쓰는 법을 정리해 보기로 하였습니다.
커밋 메시지는 동사로 시작하는 명령문으로 쓰자
커밋 메시지는 동사로 시작합니다.
쉽고 간결하게, 무엇을 위한 커밋인지 알 수 있는 문장으로요.
명령문으로 써야 한다는 말도 있지요.
그래서 커밋 메시지를 뭐라고 쓸지 생각할 때마다 이렇게 합니다.
- 코드를 수정함 -> 이런 수정을 했습니다. (X)
- 이렇게 수정해! -> 코드를 수정함 (O)
물론 실제로 스스로에게 명령을 먼저 하고 코드를 수정하지는 않습니다.
하지만 나중에 변경 이력을 볼 때 이 방식이 자연스럽다는 생각이 들었습니다.
커밋 메시지를 확인하고 수정된 코드를 살펴보는 흐름을 생각해 보면 말이 되지요.
커밋 메시지에 자주 쓰이는 동사
수많은 변경 사항에 대해 메시지를 쓰지만 커밋을 원자 단위로 하고 있다면 문장이 단순해집니다.
사용하는 동사 단어 종류도 몇 가지 안 되고요.
한정된 몇 가지 단어를 반복해서 문학적 글쓰기를 한다면 문제가 되겠습니다.
하지만 코드 수정 이력을 남기는 커밋 메시지는 다양한 표현을 쓰는 것이 오히려 방해된다는 생각입니다.
영어가 익숙지 않은 저에게는 이게 얼마나 다행인지 모르겠습니다.
몇 가지 단어만 기억하면 문장을 쓸 수 있으니까요.
아래는 <IT 개발자의 영어 필살기> 라는 책에 소개된 커밋 메시지에 자주 쓰이는 동사입니다.
몇 개 되지 않으니 외우기에도 부담 없지요.
단어별로 예시 문을 적어보았습니다.
제가 회사 프로젝트에 실제로 쓴 커밋 메시지를 조금 변형한 것입니다.
이게 잘 쓴 메시지라는 것은 아니니 참고만 하셨으면 좋겠습니다.
Add (추가하다)
- Add scripts for time zone setting
: 시간대 설정을 위한 스크립트 추가
Allow (~를 가능하게 하다, 허가하다)
- Allow reconnection after disconnection
: 연결이 끊어진 후 재연결 허용
Bump ((버전 번호를) 올리다)
- Bump version to 2.0.1
: 버전을 2.0.1로 올림
Change (변경하다)
- Change processing behavior when network is down
: 네트워크가 다운될 때 처리 방식 변경
Don't (소프트웨어가 ~하지 않게 하다)
- Don't allow reconnection when a pop-up message appears
: 팝업 메시지가 나타날 때 재연결을 허용하지 않음
Fix (수정하다)
- Fix error that occurred with the change to Go 1.20
: Go 1.20으로 변경하면서 발생한 오류 수정
Implement (구현하다)
- Implement data transport protocol
: 데이터 전송 프로토콜 구현
Improve (개선하다)
- Improve sensor check mode
: 센서 체크 모드 개선
Make (~하게 하다)
- Make the config file available for download
: 설정 파일을 다운로드할 수 있도록 만들기
Refactor (리팩토링하다)
- Refector error handling logic to reduce duplication
: 중복을 줄이기 위한 오류 처리 로직 리팩토링
Remove (삭제하다)
- Remove unused functions
: 사용하지 않는 함수 삭제
Rename (이름을 변경하다)
- Rename sender() to fileSender()
: sender()를 fileSender()로 이름 변경
Update (갱신하다)
- Update .gitignore
: .gitignore 갱신
Use (사용하다)
- Use TryDisconnect() instead of TryStop()
: TryStop() 대신 TryDiconnect() 사용
다른 의견이 있다면...
글을 보시다가 잘못된 내용이 있거나 다른 의견이 있다면 댓글로 알려주세요.
제가 많은 사람을 가르치고 할 수 있는 입장이 안됩니다만,
어느 누군가에게는 도움이 되길 바라는 마음을 두고 이만 줄이겠습니다.
'알아두면 좋은' 카테고리의 다른 글
<오블완 챌린지>를 기회삼아 다시 꾸준해보자 (0) | 2024.11.06 |
---|---|
영문 윈도에 설치된 프로그램의 한글이 깨져보일 때 (0) | 2021.11.12 |
수식을 그래프로 그릴 때 필요한 툴 (0) | 2021.04.12 |
PowerShell 명령 조금 더 쉽게 입력하기(Alias 설정) (0) | 2021.03.22 |
Windows 터미널에서 WSL 시작 경로 변경하기 (3) | 2021.02.21 |