개발자 블로그

(게임 코드로 알아보는) 코딩의 기술 - 한빛미디어 본문

IT도서리뷰

(게임 코드로 알아보는) 코딩의 기술 - 한빛미디어

로이드.Roid 2016. 8. 15. 22:26

이 책은 좋을수도 있고, 안 좋을수도 있습니다.

..는 그냥 드립친거고, 이런 종류의 책이 보통 그런 것 같다. 책을 읽는 사람의 상황에 따라 큰 도움이 되기도 하고, 별 도움이 안되기도 하고..


책의 제목에도 나와있듯이 책에서 예제로 사용하는 프로그래밍 언어는 C와 C++이다. 해당 언어의 문법만 아는 상태라면 추천하지 않는다. 어느정도 객체지향 프로그래밍 경험이 필요하다. 그렇지 않은 상태에서는 봐봤자 크게 얻어가는게 없을 것이다.

게임 프로그래밍 코드를 가지고 설명을 하는데 굳이 게임 개발자가 아니더라도 별 상관이 없다. 나 역시 게임 개발을 해본적은 없지만 책의 코드를 이해하는데는 전혀 무리가 없었다. 한가지 아쉬운 점은 요즘 많이 사용하는 C#이나 Java언어라면 어땠을까 하는 점. C++의 문법적 특징을 이용한 기술(?)들이 적지않게 소개 된다. 


기본적으로 유지보수가 쉬운 코드를 작성하는걸 목표로 다양한 코딩 기술과 패턴등을 소개한다. 1장은 주로 C언어 수준에서의 방법들, 그러니깐 주로 함수 수준에서의 방법이 주를 이루고, 2장 부터는 객체지향 설계패턴, 클래스 설계 요령 등에 대해서 설명한다. 3장은 코드 품질에 관한 내용들이 있는데 그냥 간단한 소개 정도다.

일단 지금 내 상황에서 필요한 책을 만난 것 같다. 다양한 객체지향 언어들. C++, Java, C# 같은 언어들을 공부하면서 여러번 배운 내용들이지만 실제로 개발을 하게되면 '좋은' 방법보다 '빠른' 방법을 사용하게 되는 경우가 많다. 모든 자원이 풍부한 상황이라면 당연히 '좋은' 방법, 또는 '올바른' 방법을 택하겠지만.. 실제로 업무를 하다보면 그렇게 되더라.. 

이런게 반복 되다보니 이런 나쁜 습관들이 내 몸에 굳어진 것 같았다. 그런데 이 책을 보면서 이런 나쁜 습관들이 하나 둘 깨지는 기분이 들었다. 그런 의미에서 이 책은 나한테 참 잘 만난 책이다.

책 이야기를 좀 더 하면, 원서는 일본어인데 번역은 참 잘 된 것 같다. 몇몇 단어들이 내가 배울 때 접한 단어와 달라서 조금 낯설긴 했는데 그건 뭐 이 책의 문제는 아니니깐. 그리고 예제코드가 참 좋았다. 꽤 설명적이고 이해하는데 어렵지도 않았다. 책의 분량은 240페이지 정도로 얇은 편인데 중요한 핵심들은 빠지지 않고 들어가 있다는 느낌을 받았다.


사실 "좋은 코드"라는게 어떻게 보면 추상적이고 주관적인 부분일 수 있어서 이 책에서 하는 이야기 보다가 '어? 이건 좀 그런데?'라고 느끼는 부분이 있을 수도 있다. 기본적으로 이런류의 책을 본다면 입문자는 아닐테니 그런 부분은 알아서 필터링 해가면서 보면 될 것 같다.


한가지 뜬금없지만 인상적이었던 문장이 있었는데 '사람이 편하기 위해 컴퓨터가 존재하는 것이랍니다.' 라는 부분이다. 개발을 하다보면 내가 컴퓨터 입장에서 생각할 때가 있다. '효율성'이라던지 '성능'을 고려해서 그렇게 코딩하는 경우가 종종 있는데, 이 책에서는 그 보다는 '유지보수'에 초점을 맞춰서 설명한다. 그냥 그런 생각이 들었다. 내가 해야되는 '유지보수'와 컴퓨터가 수고하는 '성능'. 

'난 왜 컴퓨터 입장에서 생각을 한거지? 이 코드 유지보수하는건 난데.. ' 그냥 이런 생각이 들었다. 성능이 중요한 프로그램이라면 얘기가 달라지겠지만 그런 것도 아닌데 습관적으로 그런식으로 코드를 작성했던 것 같다. 이제는 조금 스타일을 바꿔봐야겠다.


Comments