him***
2016-05-09

프로그램을 혼자서 만들 수 있는 시대는 지났다. 게다가 한번 출시된 프로그램은 지속적인 업데이트와 유지보수가 이루어지는 만큼, 여러 개발자가 협업하기 좋게 ‘읽기 좋은 코드’와 ‘효율적인 디자인 패턴’을 적용해야 한다. 이 책은 게임 프로그래밍에 자주 활용하는 코드를 예로 들면서 개발자가 한 단계 성장하는 데 필요한 코딩 기술 전반을 다룬다. 1장에서는 이해하기 좋은 코드를 작성하는 코딩 기술을, 2장에서는 간결한 설계를 위한 원칙과 디자인 패턴을
저는 프로그래밍을 취미로 즐기는 직장인입니다. 체계적으로 배우지 못했기 때문에 항상 효율적이고 효과적인 코딩 방법에 대한 열망이 있었습니다. 그러던 중 이름부터 흥미로운 코딩의 기술이라는 서적을 접할 수 있었습니다.
이 책은 처음부터 작고 단순한 코드, 심플하고 멋진 클래스 설계를 배우고자 하는 독자를 대상으로 합니다. 이미 시중에 나온 디자인 패턴, 객체지향 설계 원칙 등 어려운 말로 포장한 많은 책과는 달리 쉽게 풀어쓰려 노력 합니다.
이 책은 3개의 장으로 구성되어있는데, 1장에서는 읽기 쉬운 코드의 정의부터 시작하여 현장에서 바로 적용할 수 있는 여러 가지 코딩 팁을 제시합니다. C와 C++ 언어로 예제가 제시되어 있지만, 실제 코딩을 할 필요는 없습니다. 눈으로도 술술 읽힙니다. 보통 눈으로만 읽다보면 글의 요점을 놓치거나 자칫 지루해서 책을 덮어버릴법도 한데, 단숨에 1장을 모두 읽게 되었습니다. 캐릭터의 화면 이동, 키보드 이벤트 처리 등 간단한 상황과 그에 대한 효율적인 코드 작성 팁을 제시한 예제 때문이 아닌가 생각합니다.
2장에서는 디자인 패턴에 대한 이야기가 나옵니다. 여느 책과는 달리 많은 그림이 보충 설명을 하고 있어서 읽기가 수월했습니다. 디자인 패턴이라는 주제가 원래 쉬운 주제가 아니기 때문에, 1장 처럼 단숨에 읽기는 어려웠습니다. 그럼에도 불구하고 게임 제작과 관련된 예제 코드는 책에 대한 집중력을 유지할 수 있도록 많은 도움이 되었습니다. 한가지 아쉬운 점을 들어본 다면, 제시된 모든 패턴에 대해서 쓸만한 예제가 담겨있지는 않았습니다. 간단히 개념, 그림 및 교과서 적인 예제만 제시된 패턴이 더러 있는데, 아예 언급을 하지 않거나, 아니면 1장에서의 같은 알찬 예제가 제시되었으면 어땠을까 생각해 봤습니다.
3장에서는 작성된 코드에 점수를 부여하여 평가하는 방법을 제시합니다. 물론 이렇게 계산된 점수를 맹신해서는 안되고, 어떻게 활용해야 할지에 대한 방법도 제시합니다. 3장은 1장 및 2장에 비교하여 매우 간략하게 제시되어 있는데, 개인적으로 괜찮은 접근이라고 생각합니다. 코드의 정량적인 평가는 연구원이 아닌 이상 깊이 들어갈 필요가 없다고 생각합니다. 이 책에서는 가볍게 접근할 수 있어서 좋았습니다.
저는 처음부터 책의 내용을 100% 소화할 수는 없었습니다. 그런데 어려워서 다시 보기가 꺼려지는 느낌은 들지 않았습니다. 코딩을 할 필요가 없기 때문에 언제 어디서든 부담없이 읽을 수 있을 것 같습니다. 곁에 두고 자주 보면 좋을 것 같습니다.