보기 좋고 간결한 코드는 어떻게 만들까라는 그 답은...
읽기 좋은 코드가 좋은 코드다: 더 나은 코드를 작성하는 간단하고 실전적인 테크닉
프로그래머인 우리는 너무 엉망인데다가 버그투성이라서 머리가 지끈거리는 코드를 만나곤 한다. 이 책의 저자인 더스틴 보즈웰과 트레버 파우커는 지난 5년 동안 (자신들의 코드를 포함한) 수백 개의 "나쁜 코드"를 분석하고, 그러한 코드가 "왜 나쁜지", 그리고 코드를 "어떻게 개선할 수 있는지"를 연구했다. 그들이 내린 결론은 무엇일까? 그것은 바로 다른 사람들이 코드를 읽고 이해하는 데 걸리는 시간
- 저자 : 더스틴 보즈웰 , 트레버 파우커
- 번역 : 임백준
- 출간 : 2012-04-26
읽기 좋은 코드가 좋은 코드다.(한빛미디어)
책 제목 그대로 코딩을 어떻게 해야 하는지를 설명하는 책이다. 누구나가 프로그램 코드를 봤을 때, 우선 읽기 편하고 실행이나 디버깅이 없이 프로그램의 작은 파트 또는 전체 프로그램의 흐름을 눈으로만 파악하도록 코드를 만드는 방법에 대해서 설명하고 있는 책이다. 특히 한국에서 프로그램을 개발하는 사람들이라면 반드시 읽고 넘어가야 하고, 자신의 코딩 스타일에 대해서 다시 한번 생각을 할 수 있도록 만들어주는 책인 동시에, 코딩 스킬을 한 단계 업그레이드 하도록 만들어 주는 가장 기본기를 가르쳐주는 유익한 책이다.
책의 앞부분을 읽을 때, 학교에서 배운 프로그래밍 코딩 작성 방법에서 조금 더 구체적으로 설명하겠지 라는 나의 생각을 완전히 뒤 엎어버렸다. 책의 두께에 비해 중요한 정보들을 가득 담고 있을 줄은 전혀 예상하지도 못했다. 코딩은 단순히 내가 요구하는, 내가 목표로 하는 결과만을 동작시키거나 만들어 내면 된다는 나의 생각을 완전히 부셔버렸다. 변수나 함수 하나의 이름을 붙이는 것에서부터, 전체 프로그램의 개발 방법까지를 어떤 방식으로부터 시작해서 어떻게 마무리를 해야지만 버그가 적고 유지 보수를 쉽게 할 수 있는 지를 깨우쳐 준다. 이 책의 저자가 말한 대로, 원래부터 간결하고 효율적으로 코드를 작성하는 능력을 가진 사람이라면야 굳이 이 책을 읽을 필요는 없다. 하지만, 한국에서 저자가 말한 이상형의 개발자는 극히 찾기 드물다. 엄청난 작업량과 바쁜 스케줄 때문에 모든 개발자들이 좀더 좋은 코드를 만들기 보다는 단순히 돌아가기만 하면 되는 코드들을 양산해 낸다. 얼마 전 나 자신만 하더라도 프로젝트 스케쥴에 쫓겨 우선 돌아가기만 하면 된다라는 생각을 갖고 코드 작성하였고, 지금에 와서는 내가 왜 이렇게 코드를 만들었는지, 또 이 함수는 어떻게 돌아가는지 등 유지 보수에 엄청난 시간을 재투자 하고 있고 다시 코드를 만들어 냈다. 이게 얼마나 어리석은 짓이고 낭비인지를 이 책을 읽으면서 나 자신에 대해 반성을 했고, 좀 더 일찍 이 책을 접했더라면 이라는 아쉬움이 밀려왔다.
비록 책의 두께는 얼마되지 않지만, 개발자들이 고쳐야 하는, 또 개선시켜야 하는 내용들이 가득 담겨져 있다. 나 자신을 위해서, 그리고 내 코드를 읽고 유지 보수해야 하는 다른 사람들을 위해서도 반드시 읽어보고 또한 이 책에서 말한 전부는 아니지만 코드를 작성할 때 좀 더 깊이 생각을 하게 만든다. 변수 명명에서부터 주석까지, 누구나 코드를 읽어도 이해하기 쉽도록 어떻게 하면 가독성과 어떤 식으로 생각을 해야 거대한 함수를 하나의 작은 기능을 갖는 단위로 쪼갤 수 있고 및 코드의 양을 줄이는 방법까지 경험을 통해 설명하는 괜찮은 책이다.
책을 읽다 보니, 어느날 선배 중에 한 명이 역시 저자와 마찬가지로 한국인 아닌 서양에서는 하루에 10줄을 코드를 작성하더라도 디버깅 및 테스트 등의 여러 가지 사항들을 모두 확인하여 보기 좋게 코드를 만든다고 했던 말이 기억이 난다. 과연 한국 실정에서는 가능한 얘기일까 반문 하고 싶지만, 그래도 아름답고 간결하게, 누구나 읽어도 코드 작성자의 생각을 싶게 파악하는 코드를 만들어야 하지 않을까 하는 생각이 든다.