Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

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

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

읽기 좋은 코드가 좋은 코드다 - 8점
더스틴 보즈웰 & 트레버 파우커 지음
임백준 옮김
한빛미디어

제목에서 느껴지는 대로 클린 코드처럼 좋은 코드를 작성하는 법을 설명하는 책이며 특정 언어에 한정되지 않고 어떤 프로그래밍에도 적용할 수 있는 내용을 다루고 있다. 실제로 책의 예제들도 자바스크립트, 파이썬, C++ 등 다양한 언어를 사용해서 설명하고 있으며 딱히 해당 언어의 문법을 몰라도 문맥을 이용하는데는 무리가 없다. 내가 생각하기에 이 책의 가장 좋은 장점은 무겁지 않다는 것이다. 약간은 딱딱하고 지루한 내용일 수도 있지만 간결하게 핵심만 설명하고 있고 분량도 200여페이지정도만 되기 때문에 부담없이 읽을 수 있다는 장점이 있다. 내용이 가볍다는 얘기는 아니다.

처음에는 좋은 코드란 무엇을 의미하는 가를 먼저 설명한다. 코드의 분량등도 한 부분이 될 수가 있지만 최종 목표는 다른 사람이 보았을 때 최소한의 시간으로 코드를 이해할 수 있도록 한다는 것을 최종 목표로 하고 있다는 것을 뚜렷히 밝히고 있다. 이어서 어떤 변수명을 사용하는 것이 좋고 어떤 이름을 피하는 것이 좋은 가를 설명하고 코드의 배열을 어떻게 하면 이해하기 쉽게 작성할 수 있는지 설명한다. 코드에서 빠질 수 없는 주석에 대해서도 어떤 주석이 좋은지 명확히 설명해 주고 있다. 1부가 제법 간단한 내용이었다고 한다면 2부부터는 리팩토링에 대한 주제를 다루고 있으며 어떻게 하면 복잡한 로직의 코드를 이해하기 쉽게 리팩토링할 수 있는지를 설명하고 있다. 아무래도 리팩토링을 다루므로 1부보다는 코드도 좀 길고 약간 복잡해진다.

각 장에서 설명하는 내용의 핵심을 팁처럼 정리해놓았기 때문에 이러한 내용을 정리해두거나 코드를 작성할 때 지속적으로 참고하면 도움이 될만한 내용들이 많다. 그리고 단순히 읽기 좋은 코드에 대한 팁만을 제공하는 것이 아니라 접근하는 방법이랄까 생각하는 방법에 대해서도 설명하고 있기 때문에 이 책에 나온 기본적인 팁들을 바탕으로 직접 생각하려고 노력한다면 코드를 개선하는데 많은 도움이 되리라고 생각한다. 예를 들어 작성한 로직을 리팩토링하기 전에 한국말로 구현내용을 정리해서 접근한다거나 이해하기 쉬운지 타인에게 직접 의견을 구해보라는 조언들은 중요하다고 본다.

저자가 이 책을 위해서 많은 코드들을 찾아보았다고 하는데 그래서인지 너무 이론적인 부분에만 치우치지 않고 실용적인 위치를 잘 지킨 느낌이다. "일관성있는 스타일은 '올바른' 스타일보다 더 중요하다"라든가 이해하기 좋은 코드를 작성하려는 노력이 아키텍처설계나 효율성, 테스트 용이성 등의 목적과 충돌하는 가에 대한 견해를 밝힌 것도 저자가 많은 노력과 고민을 했다는 것을 느낄 수 있다. 어떤 면에서는 기초적인 부분이라고 생각할 수도 있겠지만 핵심을 많이 담고 있다.
2012/12/05 01:28 2012/12/05 01:28