Go 100가지 실수 패턴과 솔루션

서평

이 책은 Effective Java에 상당하는 Go 책이라고 평가를 받은 책이다. Go 프로젝트에서 가장 많이 저지르는 100가지 실수에 대해 예제와 해결 방법에 대해 정리하고 있다. 원서는 2022년에 제작되어 2023년 12월에 한국어로 번역되어 볼 수 있게 되었는데, 번역 자체가 깔끔하게 되어 읽음에 막힘이 없다고 느꼈다.

단순하게 Go 애플리케이션의 안티 패턴이라고만 하였으면 생각보다 관심이 동하지 않았을텐데 Effective Java에 상당한다고 표현한 부분이 궁금해서 읽어보게 되었다. 저자가 책을 쓰게 된 이유가 본인이 프로젝트 진행 중에 흔히 저지르는 실수에는 패턴이 있다는 것을 발견하고, 다른 사람들에게 도움이 될 수 있게 쓴 포스팅이 시작이라고 한다.
그 만큼 많은 프로젝트들에서 유사한 실수들이 많았다는 것을 알 수 있었다.

다시 말하면 Go 프로젝트 경험이 있는 독자들에게 많은 인사이트와 경험을 줄 수 있는 책이지, Go 입문자에게 언어를 알려주는 책으로는 적합하지 않다고 본다.

책의 구성은 언어에 대한 특징과 프로젝트 구성에 대해 이야기하면서 점점 깊게 들어가는 방식으로 짜여있다. 마지막에는 테스팅과 최적화에 대해 이야기하는데, 상당히 깊다고 생각이 드는 부분들이 많았다.
Go 프로젝트 진행하면서 동시성이나 GC 등에 대해 공부를 많이 하게 되었었는데, 읽으면서 부족한 부분을 채울 수 있었다. 이 책에서는 사례와 배경에 대해서 설명하고 독자를 납득시키는 방향으로 작성되어 있다.

12장에 거친 100개의 실수를 정리해놓은 책에서 가장 기억에 남는 부분은 인터페이스와 에러 관례 부분이 가장 기억에 남는다. 책 초반에서도 Go는 시작이 쉽지만 마스터하기 어렵다고 서술되어있다.
말 그대로 시작하기 쉬워서 이것저것 만들어볼 수 있지만, Go로 만들어진 유명한 다른 오픈소스 소프트웨어를 보게 되면 코드가 전혀 이해가 안될 때가 많았다. 인터페이스와 에러를 처리함에 있어 다른 언어들과는 방법이 많이 다르다고 느껴서 이유를 많이 찾아봐도 납득이 안되었었다.
책에서는 그러한 부분들을 이유를 설명하면서 잘 풀어냈다고 생각이 든다.

읽은 100가지 실수 패턴들은 다 기억하고 이용하진 못하겠지만 프로젝트 진행 중이거나 코드 리뷰와 같이 필요할 때 꺼내서 읽어 볼 책이라고 생각이 든다.

댓글