220831 TIL 작업 단위로 커밋 하기

오늘 빈틈없는 회원가입 퀘스트를 리팩터링 하기 위해서 기존에 내가 작성한 회원가입 시 예외처리 부분만 다 지우고 예외처리를 새로 작성하고 싶었는데 고쳐할게 많아서 불필요한 코드를 지우다 지우면 안 될 것까지 같이 지우면서 불필요한 에러를 해결하다 시간을 소비했다.

 

나는 예외처리 시작하는 딱 그 시점에서 다시 작업을 시작하고 싶었는데 그 시점에 돌아갈 방법이 없었다.

왜냐하면 나는 commit을 작업단위로 하지 않고 구현해야 할 기능을 다 구현했을 때 1차 커밋을 했기 때문에 돌아갈 곳이 없었다.

 

커밋끼리 간격이 거의 하루..

 

그래서 이런 불편함을 해결하고자 다음 퀘스트는 커밋을 작업 단위로 해서 최대한 save포인트를 많이 만들어서 돌아갈 길을 많이 만드는 중이다.

 

현재까지 퀘스트를 진행하면서 커밋한 내역인데 벌써 앞에 퀘스트보다 커밋한 갯수가 많다. ㅋㅋㅋㅋㅋ

 

현재 내가 커밋을 하는 단위는 

하나의 기능을 구현하기 위해 테스트 작성 -> 기능 구현 -> 테스트 성공 -> 커밋하기 전 전체 테스트 -> 커밋

이렇게 하는 중이다. 언제든지 돌아가고 싶은 시점으로 돌아갈 수 있게, 그리고 테스트를 모두 통과시켜놔야 돌아갔을 때 다른 에러를 신경 쓰지 않고 바로 원하는 작업을 시작할 수 있을 것 같아서 커밋하기 전에 꼭 전체 테스트를 한번 돌린다. 

 

커밋을 너무 짧게 했을 때 문제가 되지 않을까 생각을 했었는데 찾아본 결과

짧게 세분화된 커밋은 git squash 명령어로 합칠 수 있다고 한다.

하지만 반대로 하나의 커밋을 세분화 시킬 수는 없기 때문에 합칠 필요가 있을 때는 합칠 수 있으니 작은 단위로 커밋하는게 좋다고 한다.

 

그리고 예전에 트레이너님이 말씀해주신 게 생각이 났는데 커밋 단위가 짧아야 코드 리뷰하는 게 편하다고 말하셨던 게 생각이 났다. 

커밋 메시지 또한 신경써야 하는 부분이고, 커밋 메시지만 보고 바로 어떤 작업을 했는지 알 수 있게 작성하라고 하셨던 게 생각이 난다..

 

분명 과정 시작하고 초반 부분에 커밋 짧게, 메시지 신경 쓰는 부분에 대해서 피드백을 받은 적이 있었는데 다 까먹고 지금까지 내 멋대로 해왔다.

트레이너님들이 아무리 좋은 피드백을 해주셔도 내가 실천하지 않으면 무용지물이 되는 건데.. 

정신 차리고 피가 되고 살이 되는 피드백들을 챙기자!!

 

Action Plan

트레이너님들이 주시는 피드백은 노션에 피드백 페이지를 만들어서 하나씩 정리해서 시간날때마다 보면서 다시 상기시키기