본문 바로가기

일상 이야기/추천도서

읽기 좋은 코드가 좋은 코드다

읽기 좋은 코드가 좋은 코드다


이책을 읽으면서 느낀점들을 추가적으로 적어 보았습니다. 리뷰는 한번밖에 되지 않아서 여기에 모두 적어 버렸네요.


처음 이책을 접했을 때 "읽기 좋은 코드가 좋은 코드다" 라는 책 제목과 표지의 단순함, 그리고 두껍지 않은 두께로 인해 허접한 책이라 생각을 했습니다. 역시나 몇장을 넘기지 않아 만화가 나오더군요. 

"피식~"  한번 쓴웃음을 짓게 되었습니다.


참으로 가볍게 생각되었던 이 책이지만 읽는 내내 "아~ 그래.", "나도 저렇게 했었는데", "어! 저런 방법이 있었네" 등 혼자서 이런 저런 감탄 아닌 감탄을 하며 책을 읽어 가고 있습니다.


현재는 책의 반정도를 읽었습니다. 다 읽지도 않은 책의 리뷰라 망설여 졌지만 많은 사람들이 이 책을 읽고 도움이 되었으면 하는 생각에 빨리 리뷰를 작성해야 겠단 생각이 들었습니다. 물론 모두 읽고 난뒤에 다시 한번 리뷰를 올릴 생각입니다.


이책은 크게 4부분으로 나누어져 있습니다.


1부 - 표면적인 수준에서의 개선 : 이름 짓기, 설명문등의 간단한 조언들

2부 - 로프와 논리를 단순화 하기

3부 - 코드를 재작성 하기

4부 - 선택된 주제들 


다분히 개인적인 견해이지만 이 책은 다른 책과는 다르게 중간중간 삽화가 있는데 저는 읽는 내내 삽화 때문에 기분 좋게 책을 읽어 내려 갔습니다. 혼자서 피식 거리며 읽어 나갔죠.


그리고 하나의 주제를 가지고 여타 다른 책들처럼 긴 문장으로 된것이 아니라 짧은 글들로 되어 있었기에 저처럼 대중교통을 이용하면서 짧은 시간동안 책을 보는 사람들에게는 굉장이 좋을거 같습니다.

제시된 문제점을 읽고 고민하고 해결책이 제시되면 한번더 생각하고..


저는 현재 2부까지 읽은 상태이며 나머지 3, 4부에 대한 기대감이 너무나도 큽니다.

모두 정독하고 나면 다시한번더 이 책에 대한 느낌과 감동을 적어 내려갈 생각입니다.


누구나 한번쯤은 쉽게 넘어 갈수 있는 부분, 알고는 있지만 잘 지켜지지 않는 부분, 모두 당연하다고 생각되는 부분들이기에 많은 사람들에게 도움이 될것 입니다.


====================================================================================


일전에도 말한적이 있지만 전 대중교통을 이용하며 버스안에서 주로 책을 읽다보니 하루에 읽는 양이 그리 많지는 않습니다.

그래서 들고다니는 책들도 두꺼운 책이아닌 주로 작고 얇은 책을 들고 다니죠.  (스톼일 입니다.~)


"읽기 좋은 코드가 좋은 코드다." 

이 책을 다 읽는데는 2주정도가 걸렸네요. 그리 두껍지 않은 책임에도 불구하고 생각보다 오랜 시간이 걸렸습니다.

이책을 읽으면서 전 굉장히 신선한 느낌을 들었습니다. 

전공서적이 아님에도 불구하고 파트별로 읽어나가며 적용 가능한 부분은 실제 업무에 적용해 보았습니다.


시간이 그리 많지 않아 많은 부분을 적용해 보지 못했지만 일부 적용한 부분에 대해서 같이 일하는 동료들의 반응은 참으로 놀라웠습니다.


제가 적용한 부분은 가장 쉽게 적용할 수 있는 "표면적 수준에서의 개선" 부분이었습니다.

그리 많은 시간을 들이지 않고 바로 효과를 볼수 있었던 내용입니다. 


기존에 작업했던, 소외말해 역사적인 이유로 어쩔수 없이 작성되었던 몇몇 코드들, 그리고 테스트용으로 작성되었지만 빠듯한 일정으로 인해

미처 수정되지 못했던 부분들을 이 책에서 언급된 내용대로 수정을 해보았습니다.


변수의 이름을 좀더 명확하게(사실 이름을 짓는게 어렵더라구요. 의미가 비슷한 단어들이 많아지니 영어가 짧아 사전찾는 시간이 많아지게 되구요.) 하기 위해

일일이 사전을 찾아가면서 이름을 수정하고, 메소드의 이름과 메소드안에 있는 코드부분들을 오와열을 맞추고 블럭화 시켜 보았습니다.


동료들은 생각보다 빠른 시간안에 피드백이 오더군요. 그 몇몇분중 한분은 제가 읽었던 책을 건네주어 지금은 읽고 있답니다.


이책은 그리 어려운 책이 아닙니다. 그렇다고 결코 가벼운 내용들로만 구성된 책도 아니구요. 

돌아 보면 처음 프로그래밍을 할때는 당연히 지켜야 한다고 배웠던 내용들인데 빠듯한 일정과 여러가지 이유로 인해 지켜지지 않았던 내용들이 참 많았던것 같습니다.

물론 참신한 내용들도 많이 있었구요. 새롭게 배운것들도 참많이 있었답니다.


마지막으로 책을 읽으며 제가 메모해두고 모니터 옆에 붙여놓은 간단한 내용들입니다.


 - 코드는 이해하기 쉬워야 한다.

 - 이름에 정보를 담아내라, 재치있는 이름보다 간결한 이름이 더 좋다.

 - 일관성 있는 스타일은 '올바른' 스타일보다 더 중요하다.

 - 주석은 높은 '정보 대 공간' 비율을 갖춰야 한다.

 - 줄수를 최소화하는 일보다 다른 사람이 코드를 읽고 이해하는 데 걸리는 시간을 최소화 하는 일이 더 중요하다.

 - 변수가 적용되는 범위를 최대한 좁게 만들어라. 변수값이 달라지는 곳이 많을 수록 현재값을 추측하기 더 어려워 진다.

 - 가장 읽기 쉬운 코드는 아무것도 없는 코드다.

 


가벼운 마음으로 읽기에도 적당하며 실무에 적용시키기에도 충분히 좋은 책이라고 생각됩니다.

많은 개발자들이 이 책을 읽어보고 다시한번 기본에 대한 중요성을 되새겨 보았으면 합니다.