문제의 시작..

혼자 개발하거나, 그냥 문제풀때는 코드 다 작성 후에 한번의 커밋 후 바로 push했었다.
게다가 그 커밋 메세지도 별 생각없이 막 작성했었음..

대충 써 재껴도 나 혼자니까 별 문제점을 느끼지 못했었는데, 팀 프로젝트를 하면서 멘토님이 말씀하시길

처럼 코딩 컨벤션 지키기, 브랜치 생성, 커밋 메세지, PR 제목 등에서도 팀원들 전부 통일되도록 요구했었다.

 

 

왜 필요할까?

개발자도 사람이기 때문에 각자의 스타일이 있다.
간단한 예시로 if, while, for문 등이 한줄로 끝날 때도

for(int i = 0; i < 10; i++) {
    System.out.println("Hello World!");
}

for(int i = 0; i < 10; i++)
    System.out.println("Hello World!");

처럼 {}를 붙이는 경우는 사람도 있고 붙이지 않는 사람도 있다.
또한 변수, 함수 이름을 지을 때도

create_new_user()  
CreateNewUser()  
createNewUser()

처럼 camelCase나 snake_case 등 (헝가리안 쓰는 사람도 있더라..) 개인의 취향, 습관 등에 따라 다 다를 것이다.
이런 스타일이 다 다른 개발자들이 모여서 협업을 하면 어떻게 될까? 코드의 일관성이 사라질 것이다.
따라서 코딩 컨벤션을 정하고 팀원들이 이를 지키는것은 매우 중요하다고 할 수 있다.

 

코딩 컨벤션의 장점

  • 정해진 규칙이 있기 때문에 명칭이나 구조를 빠르고 정확하게 파악할 수 있다.
  • 통일된 규약이 있으므로 모든 사람들이 코드를 이해하기 쉽다.
  • 불필요한 유지보수가 줄어든다
    즉 쉽게 말해 가독성이 좋아진다! (어? 이거 완전 클린코드..?)

비단 코드에서 뿐만 아니라 Github에서 Issue나 PR작성할 때, 로컬에서 branch나 commit 메세지를 작성할때도 적용된다.

 

 

도움을 주는 도구들 (Python)

  1. black: 코드 스타일 자동 Formatter
  2. isort: import 자동 정렬
  3. mypy: 파이썬 타입 체크
  4. flake8: 파이썬 코드 스타일 체크

이것들을 Git Hook을 이용하여 commit 전에 검사한다. import 해놓고 사용하지 않는 모듈이나 파이썬 코드 스타일에 맞지 않는 코드등을 commit 전에 검사하여 이상이 있으면 커밋하지 않는다.

이 부분도 자세하게 기록하고 싶은데, 멘토님이 설정한거라서 나는 잘 모르겠다.. 나중에 배운 후에 기록하는걸로... 기약

'Etc' 카테고리의 다른 글

인증/인가 - Session vs Token  (0) 2024.07.05
IntelliJ와 git bash 연동하기  (0) 2022.01.25

+ Recent posts