'readable code'에 해당되는 글 1건

  1. 2013.10.22 [책] 읽기 좋은 코드가 좋은 코드다

[책] 읽기 좋은 코드가 좋은 코드다

영화&책 2013. 10. 22. 22:29

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


저자 : 더스틴 보즈웰 ( 칼텍 컴공, UC 샌디애고에서 석사 ) ,  트레버 파우커 ( MS, Google출신)

역자 : 임백준 

가격 : 18,000 원  ( 약 250 페이지 ) 


오랜만에 개발 관련된 책을 본것 같다. 책 제목은 "읽기 좋은 코드가 좋은 코드다". 영어 원제목은 "The Art of Readable Code". 코드를 읽기 좋게 작성하는 방법에 대해서 설명하는 얇고 쉽운 책이다. 어떻게 보면 뻔한 이야기 일 수 도 있는 내용이기도 한데, 적절한 예시와 비유로 설명을 잘 했다는 느낌을 받았다. 

책시작은  "무엇이 코드를 더 좋게 만드는가?" 라는 물음으로 시작한다. 대답하기 상당히 어려울수 있는 추상적인 질문이다. 그러나 저자는 간단하게 답한다. 바로 "코드는 이해하기 쉬워야 한다" 라는 함축적인 문장으로..  


아래의 코드를 잠시 보자 

[1번] 

return exponent >=0 ? mantissa * ( 1 << exponent) : mantissa / ( 1 << -exponent); 

[2번] 

if( return exponent >=0 )

return  mantissa * ( 1 << exponent) 

else 

return mantissa / ( 1 << -exponent); 


동일한 내용을 하는 코드인데, 1번은 코드가 간결하지고,  2번은 늘려서 썼지만 가독성이 좋다.  어떤 방식이 더 좋은 방식일까? 개발자의 성향에 따라서 달라질수 있는 문제이지만 보편적으로 읽기 좋은 코드 또는 가독성이 있는 코드라는 측면으로 봤을 때는 2번 방식에 손을 들어주고 싶다. 


그리고 이어지는 내용들은 이해하기 쉽운 코드를 작성하기 위한 나름데로의 요령들을 설명하고 있다. 


1부_표면적인 수준에서의 개선 

  -> 이름짓기, 주석, 줄맞춰 쓰기등으로,  코드 논리와 상관 없이 간단하게 변경할수 있는것들  


2부_루프와 논리를 단순화하기 

 -> 프로그램에 사용되는 루프, 논리, 변수를 개선하는 방법 


3부_코드를 재작성하기

-> 리팩토링에 나오는 내용인데, readable 관점에 맞추어서 설명하고 있음. 


4부_선택된 주제들 

-> '이해하기 쉬운' 이라는 원리를 테스트와 코드예제로 설명 


1~4부의 내용중에서 2부~3부는 리팩토링과 관련되어서 많이 (또는 얼핏) 들었봤던 내용들이 었다면 1부는 설명 예시가 딱 맞아서 그런지 공감이 많이 되었다.  

그런데 프로그램이 모두 영어로 되어 있어서 영어로 이름을 잘 짓기 위해서는 영어를 잘 해야만 하는 것은 아니다. 코딩할때 사용하는 변수의 영단어는 중/고등학교 수준이면 충분하다. 다만 통상적으로 사용되는 이름짓기 규칙을 따르면 도움이 된다. 


책의 부록으로 좋은 코드를 작성하기 위해서 추가적으로 읽어볼만한 도서 목록이 나오는데 그중에서 않읽어본 책들을 읽어봐야 할 것 같다. 






: