ETC

[책] 리팩터링 2판 후기

SongMinu 2022. 8. 8. 22:11
728x90

작년인가 친한 동생에게 추천을 받아서 샀었다.

읽기 시작한건 아마 12월말 쯤부터 읽기 시작한 것 같다.

1판은 예제 소스가 자바고 2판은 자바스크립트라는 데 개인적으로 자바스크립트를 더 선호하는 편이라 2판으로 구매를 했다.

어제 시점으로 다 읽었고, 책이 그렇게 두껍진 않은데 다 읽는데 참 오래 걸렸다.

띄엄띄엄 보기도 했고, 야근했다고 안보기도 했고, 주말에 그냥 쉬거나 다른 거 한다고 안보기도 했고, 그냥 안 보던 날도 있고...

이러다간 읽어야할 다른 책들도 있는 데 이것부터 다 못볼것 같아서 늦게 일어나는 게 아니라면 평일엔 출근 전 30~40분씩 읽고, 주말에도 따로 무슨 일이 있는 게 아니라면 일정 시간 정해서 무조건 봤다.

아마 그냥 읽기만 하면 더 빨리 봤을 것 같긴했지만, 예제 코드도 따라 쳐보고, 리팩터링 과정을 설명하는 부분도 따라했다. 그리고 나중에 또 다시 읽고 싶은 문구들은 노션에 정리하다 보니 8~9개월 정도 걸린것 같다.

노션엔 문구들만 좀 작성해고, 따라 쳐본 소스들은 깃에 커밋 해두었다.

예제가 일부분만 있다보니 제대로 작성된 코드는 얼마 안 된다.

 

책 내용에 대한 만족도는 좋았다.

내가 코딩할 때 항상 지향하고 있는 게 "다른 사람들이 내 소스를 볼 때 이해하기 쉽게 짜자"이다.

고맙게도 책에 이런 내용도 어느정도 다루고 있다.

코딩할 때 미쳐 생각하지 못했던 부분도 많았고, 코딩할 때 생각했던 부분 중에 이 방법이 괜찮을까? 아닐까? 하는 궁금증도 해결되는 부분도 좀 있었다.

코딩하는 데 있어 꽤 많은 도움이 됐다고 말할 수 있다.

 

다만 아쉬운 게 좀 있다면, 예제 코드를 보여주면서 설명을 하는 데

코드의 일부만 보여주면서 설명하다 보니 이해가 안 되는 부분이 조금 있었다.

(눈으로 보기만 하면 이해가 잘 안 될 것 같아서 좀 따라 치면서 보고싶었다.)

물론 설명이 필요한 부분만 보여준 것 같긴 한데, 현재의 나에겐 이해하기 좀 부족하긴 했다.

그리고 이건 내가 이해를 잘 못 하는 건지 모르겠는데 간혹 몇몇 부분은 문구가 번역이 잘못된 것처럼 자연스럽게 읽히지 않는 문구들이 조금 있었다. 이런 부분은 계속 다시 읽고 다시 읽고를 몇 번 반복했었다.

몇몇 곳만 그랬고 그외에는 전체적으로 잘 읽히긴 했다.

(프로그래밍 수련법이란 책은 진짜 글이 너무 안 읽혀서 포기했었음...)

 

나의 부족함으로 아쉬운 부분도 있었는데

예제 소스의 꽤나 많은 부분이 클래스 방식의 소스로 되어 있다.

아직 이 문법을 제대로 숙지하지 못해서 사용을 안하고 있는 시점이라, 아마 이것 때문에 이해가 안되던 문제가 발생한 것 같았다. 

그래도 이해를 하고 싶어서 예제들을 따라 쳐보고, 구글링도 해보고, 추가적으로 내 생각을 더해서 이것 저것 해보면서 코드를 치다보니 클래스 문법이 어느정도 이해가 되긴했다.

 

마지막으로....

"이 책을 다른 사람들에게 추천하고 싶은가?"하면 난 추천하고 싶다.

대신, 이제 막 코딩을 시작했거나, 아직 기초적인 문법을 잘 모른다면 추천은 못한다.

내용 자체가 어느정도 지식이 있는 사람들을 대상으로 만들어졌기 때문에 아마 어렵지 않을까 싶다.

위에 이야기했던 것 처럼 예제 소스가 설명에 필요한 일부분만 있는 내용이 대부분이어서 이해하는 데 어려움이 있을 것 같다는 생각이 든다.

특히 자바스크립트 클래스 문법을 모른다면 더 어려울거라 생각한다.

 

만들어야 하는 기능에 대해 코딩을 할 때 만들기만 하면되지~ 가 아닌, 적어도 코딩할 때 이걸 어떻게 짜면 좋을까?

내가 짠 소스를 보는 데 불편해서 수정하고 싶은데 어떻게 하면 좋을까? 하는 단계 쯤 되면 한 번 읽어보는 걸 추천하고 싶다.

물론 그렇다고 내가 막 잘하는 편은 아니지만...

내가 코딩할 때 지향하는 부분에 대해서 고민이 있던 시점에 추천 받아서 읽은 게 도움이 됐다.

반응형

'ETC' 카테고리의 다른 글

PUBG API 사용기  (0) 2022.11.07
주절주절...  (2) 2022.10.18
원노트와 노션  (0) 2022.07.27
[토이프로젝트] NuxtJS로 채팅 사이트 만들기  (0) 2022.07.22
m1맥북프로 2주간의 사용후기  (0) 2022.02.20