rarlala2***
2021-03-21

지난 20년간 전 세계 프로그래머에게 리팩터링의 교본이었던 이 책의 1판은, 기존 코드의 디자인을 개선하고 소프트웨어 유지 관리 능력을 향상시켰으며 기존 코드를 이해하기 쉽게 만드는 데 도움을 주었습니다.
현업에서 일을 하다보면 주니어의 입장에서도 중복되는 코드가 많고, 복잡성이 올라가는 일이 비일비재하다는 사실을 알 수 있습니다.
하지만 개발 일정은 정해져있고, 테스트에 실제 서비스까지 도입되려면 항상 빠듯한 일정이기에 기능 구현에만 급급한 현실이죠.
책에도 나와있듯 그 일정속에서도 기획의 수정을 거듭하다보면 처음 설계와는 다른 설계가 필요한 개발이 되지만 설계를 되잡고 진행하기엔 일정에 무리가 생겨 어쩔수없다며 진행하게 됩니다.
하지만 결론적으로 그 코드는 다시 개발자에게 돌아옵니다.
읽기 힘든 코드가 되어 고생하는 것도 결국 개발자이고, 버그가 생긴 부분만 임시 코드로 막고 막다보면 결국 돌아올 수 없는 강을 건너게 되죠.
결국 위와 같은 방법이 잘못되었다는 건 알지만, 결국 리팩터링에 시간을 할애한다는 것도 굉장한 수고로운 일이기에 선뜻 하기 어려운게 현실인 것 같습니다.
저는 리팩터링 2판이 자바스크립트 코드로 나왔다는 것이 너무 반가웠습니다.
비전공자 개발자로서 자바스크립트 언어 외에 코드라면 읽다가 결국 포기했을 것이 뻔하기 때문입니다.
이 책의 역사만으로도 이 책의 중요성을 모두 알려준다고 생각합니다. 이 책의 중요성을 알리는 곳은 너무나도 많기에 읽지 않아야 할 이유를 찾는게 더 어려울 정도입니다.
항상 아쉬움을 갖는 코드만을 남기지 않기 위해 시간이 걸리더라도 코드를 작성하고 난 뒤 설계를 개선하는 리팩터링 책을 통해 저도 더 나은 코드를 작성해나가는 개발자로 성장해보겠습니다.