본문 바로가기
Book Study

파이브 라인스 오브 코드 서평

by 랩린안 2023. 4. 6.
 
리팩토링 해야할 레거시 코드가 많아서 고민하던 찰나에
다섯 줄 제한규칙으로 시작하는 체게적이고 효과적인 리팩터링 수련법
이라는 부제를 가진 파이브 라인스 오브 코드 책은 굉장히 매력적으로 다가왔다.
 
물론 무조건 다섯 줄이 넘어가면 무조건 어떻게든 리팩터링 해서 줄여야한다! 같이 엄격한 내용은 아니었지만
책을 읽고 나서, 다섯줄이 넘어가는 코드를 발견하면 어느정도 따로 빼내거나, 더 명확하고 짧게
고칠 수 있지 않을까… 생각할 수 있는 계기를 얻게 되었다.
사실 공감 안 가고 이해 안 가는 내용도 많아서 책이나 스터디에서 내가 얻어가고 싶은 것만 얻어갔다.
 
명확하고 짧을수록 남이 알아보기가 좋다.
결국 남을 위한 코드가 좋은 코드다.
주석에 대한 생각도 자꾸 바뀌고 있다.
 
처음 개발을 할 때는 함수마다 윗 부분에 어떤 기능을 하는 함수인지 주석으로 설명을 적었다.
남이 봐도 대충 어떤 기능을 하겠구나, 유추할만한 내용이어도 그랬다.
시간이 좀 지나고 나서는 주석을 아예 안 적어도 이해할 수 있는 네이밍을 지으면 되는 일이니 주석은 불필요하다 느껴졌다. 
주석을 적으면 하수가 할 짓이라고 생각했다. (물론 난 하수가 맞다)
그리고 이 책을 읽고나서, 또 요즘 여러 사람과 시간이 지나간 코드를 보면서
내가 며칠 뒤 다시 봐서 한 번에 뭔 일을 하는지 모를 것 같다- 정도면 주석을 적어주는 게 맞다고 생각이 바뀌게 되었다.
 
이 책의 좋았던 점은 늘 불확실한 마음으로 코드를 작성하는 나에게 
체계적인 “리팩터링 규칙”을 제시했다는 점이다.
책에서 나온 규칙을 이용해 코드를 짤 경우 누군가, 혹은 스스로가 이 코드의 근거를 묻는다면
이 책을 펼쳐주면 된다. 예로, if문은 함수 시작에만 배치해야한다는 규칙을 통해
'늘 if문.. 많으면 가독성 떨어져서 안 좋지 않나' 애매하던 생각이
if문은 무언갈 확인할 때 쓰이기 때문에 위에서만 한 번 사용되는 게 맞다.
‘else문도 사용하면 좋지 않다.' 애매하게 생각만 하고 있던 것이,
else문은 맞다. 아니다. 두 가지 케이스로 떨어지지 않으면 쓰면 안 된다. 라는 확실한 코드 규칙이 생겨서 좋았다.
 
이 스터디를 진행하면서 또 별개로,
 
레거시 코드라고 무조건 혐오하는 자세를 가질 필요가 없다는 걸 배웠다.
 
레거시 코드덕분에 우리 앱이 잘 돌아가고 있는 것이다!
 
레거시 코드야 고마워 오늘도 덕분에 야근하네~