오랜만에 스터디를 새로 시작했다. 어떤 주제로 스터디를 할까 하다가 스터디원들의 기술 스택에도 영향을 받지않고, 모두에게 의미 있는 스터디를 생각하다 리팩터링 스터디를 해보기로 했다.
마틴 파울러의 리팩터링 2판
책을 가지고 스터디를 진행하였고,
챕터를 나누어, 매주 돌아가면서 발표를 진행하는 방식으로 스터디를 진행했다.
우선 이 책을 통해 얻은점 및 후기를 먼저 애기해보려한다.
리팩터링 스터디를 통해 리팩터링의 다양한 방법과 리팩터링이 필요한 순간을 알게 된 것 같다.
리팩터링 방법은 무궁무진하고 방법도 다양하지만, 필자의 경험과 예시를 통해서 리팩터링이라는 것에 대해 좀 더 제대로 알게된 것 같다. 특히 예시가 자세해서 이해하기 좋았다.
책을 읽다보면 우리가 흔히 사용하는 방법(변수, 함수 이름 짓기, 쪼개기, 옮기기등)도 있었고, 이렇게도 할 수 있구나 라는 생각도 들게 하는 방법(생성자 올리기, 서브클래스 위임, 레코드 캡슐화등)도 있었다.
나도 실무에서 리팩터링을 고민할 때 가장 궁금한 점이 이 코드를 리팩터링 해야하는 것인가 말아야 하는 것인가 언제 리팩터링을 해야하는가 가 가장 모호하면서도 궁금한 부분이었는데 이 책을 통해서 어느정도 해소된 것 같다.
위와 같은 부분들이 특히 많은 도움이 되었다.
그리고 내가 몰랐던 다양한 리팩터링 기법들을 알게되어, 앞으로 코드를 볼때 리팩터링 부분에 있어서 더 넓은 시야를 가지게 된 것 같다.
어쩌다보니 책 후기가 길어진 것 같다.. 스터디 회고인데...
아무튼 책 한권으로 챕터를 나누어 발표하다보니, 스터디가 빠르게 끝났다.
항상 느끼는 것이지만 스터디의 장점은 강제성과 적은 시간의 최대 효율이라고 생각한다.
돌아가면서 리팩터링 기법을 소개하다보니, 빠르게 기법들을 훑을 수 있었다.
그런 부분에서 스터디는 성공적이었지만 아쉬움이 남는 것이 있다.
우선 리팩터링 방법을 소개하면서 코드 예시가 굉장히 많은 책이다.
그래서 한명씩 정리하며 발표할 때, 코드 부분을 어떻게 설명해야 할지 난감했다. 코드의 길이도 굉장히 길었기 때문이다..
그래서 해당 리팩터링 방법의 기본적인 설명과 절차, 간단한 예시 위주로 정리하며 설명하였는데, 설명이나 절차만 보고 이해되지 않는 기법도 꽤나 있었다. (물론 이런 경우는 다같이 책을 보며 진행하기는 했다.)
아무튼 개인적인 생각으로 챕터를 나누어 설명하면서 스터디를 진행하기에 애매한 책이 아니었나 싶다.. 좀 더 좋은 방안을 찾아봐야 할 것 같다.
이상으로 스터디 회고를 마쳐본다..뭔가 주저리주저리 였던 것 같다.. 스터디 방법에 대해 아쉽다고는 했으나 리팩터링 책은 정말 좋다. 지인분께서도 꼭 읽어야하는 필독서라고 하셨는데, 왜 그런 말씀을 하셨는지 이해가 된다. 아직 안 읽어본 사람이 있다면 읽어보는 것을 추천한다.
멋지네요. 잘 보고 갑니다~!