0w0

마틴 파울러 리팩터링 2판

3월에 읽은 책은 마틴 파울러의 리팩터링 2판

책 자체는 아무 생각없이 끝까지 읽기 좋았다.

마틴 파울러 아저씨의 유머러스함과 더불어서

설명, 코드로 조합된 케이스를 친절히 설명해주는 책이었기 때문이다.

물론 이를 실제로 받아들이기 위해서는 더 자주 읽어보고, 더 많은 경험이 필요한 듯하다.

지금 수준에서는 무엇보다 어떤 경우에 코드는 악취를 풍기는가 부분이 와닿았다.

늘 고민하는 것이 코딩 이후에 나 조차도 읽기 싫은 코드는 어떻게 대해야할까? 인데,

친절하게 따로 장을 뽑아서 설명해준다.

그래서 가장 중요하다 느낀 부분은 3장 코드에서 오는 악취이다.

물론 양이 다양하고, 이를 수정하는 방법 또한 다양하기에 달달달달 외우기보다는

요리책이나 제품설명서처럼 마냥 어떤 경우에 빠진 코드를 어떻게 리팩터링하면 좋을까 곁에 두고서 참조하는 쪽이 좋아보인다.

기본적으로는 분할정복하듯 코드를 잘게 나누고, 생명력있는 이름을 주고, 서로 독립되게 기능하게하는 것,

그리고 책을 읽기 전까지는 상상하지 못했던, 테스트의 중요성을 알게 되었다.

무엇보다 리팩터링은 리팩터링 한다! 따로 스케쥴을 뺄 것이 아니라.

사칙연산하듯이 코드를 짜면서 어느 정도 기능이 모습을 갖춰질 때 자연스레 하는 것도 배웠다.

마틴 파울러 아저씨는 아무래도 켄트백 아저씨랑 친한 듯한데 그래서 그런지 몰라도.

마지막으로 내 무지에서 오는 불만일까봐 창피하기는 한데,

기본적 책의 기저가 객체 지향 프로그래밍에 맞춰진 것같아 이쪽에 많은 내용이 포함되어 있고, 클래스를 이용한 코드 설명이 무척 많았다.

그덕에 그간 피해왔던 객체 지향을 슬슬 마주해야되나 싶다.

흔히 고전이라고 하는 책의 대부분은 객체 지향을 기저로 쓰여진 경우가 많고, 괜히 시대를 풍미했던 패러다임이 아니니 말이다.

그러나 예시 코드 언어가 자바스크립트인 만큼 클래스 대신 자바스크립트의 객체나 함수로 설명해줬으면 더 좋았을 것 같다.

더글라스 크록포드의 말처럼 다른 언어는 몰라도 객체의 힘이 강력한 자바스크립트에서 굳이 클래스를 써야할 이유가 없으니 말이다.

1독 상태에서 글을 쓴 것이라 나중에 또 읽을 일이 있었을 때 이 글이 어떻게 보일지 궁금하다.