[책] 프로그래머의 뇌 - 좋은 코드가 무엇인지에 대한 인지과학적 설명

프로그래머의 뇌

프로그래머의 뇌는 프로그래머들이 흔히 말하는 '좋은 코드'란 무엇인지, 그리고 코드를 어떻게 하면 더 잘 읽을 수 있는지를 인지과학의 관점에서 설명하고, 이를 바탕으로 프로그래밍을 더 효과적으로 수행하는 방법을 제시하는 책이다.

이 책에서 소개하는 실천적인 조언의 상당수는 낯설지 않다. 클린 코드, 리팩터링, 실용주의 프로그래머 같은 서적에서 이미 제시된 조언들이다. 이 책의 차별점은 새로운 원칙을 제시하는 데 있다기보다, 기존의 원칙이 왜 효과적인지를 인지과학에 근거해 설명한다는 데 있다. 이 책은 좋은 코드를 독자의 기억과 사고에 불필요한 부담을 주지 않는 코드로 바라보고, 그 부담을 줄이는 방법을 설명한다.

이미 다른 책에서 접할 수 있는 내용을 굳이 다시 알아야 하느냐고 물을 수도 있다. 내가 생각하는 이 책의 가치는 우리가 경험적으로 알고 있던 현상에 이름을 붙여 준다는 데 있다. 나 역시 코드를 어떻게 작성해야 하는지는 알고 있었지만, 이를 다른 사람에게 설명할 때는 코드 리뷰를 통해 그때그때 개별적인 조언을 건네는 데 그치곤 했다. 이 책을 읽고 나서는 파편화되어 있던 경험에 적절한 이름과 설명을 붙이고, 그 조언이 필요한 이유까지 이야기할 수 있게 되었다. 이름을 붙이면 현상을 식별하고 동료와 논의하는 데 도움이 될 뿐 아니라 기억에도 더 오래 남는다. 이 책의 표현을 빌리자면, 관련 정보를 장기 기억에 저장하고 필요할 때 인출하기도 쉬워지는 것이다.

이 책을 읽어야 하는 또 다른 이유는 클린 코드리팩터링에서 제시하는 규칙을 교조적으로 받아들이는 데 그치지 않고, 그 배경에 있는 원리를 이해할 수 있다는 점이다. 원리를 알고 있으면 책에서 제시한 규칙이 그대로 적용되지 않는 상황에서도 다른 해결책을 찾을 수 있기 때문이다.

다만, 이 책은 인지과학을 사용해 프로그래밍을 설명하는 책이지, 인지과학 자체를 설명하는 책은 아니다. 따라서 같은 현상에 대한 여러 이론적 논쟁을 다루지 않고, 실용적 설명을 위해 일부 개념을 단순화하여 제시한다는 것은 감안해야 한다.

코드를 읽는 데 어려움을 겪고 있거나 좋은 코드란 무엇인지 고민하고 있는 사람이라면 한 번쯤 꼭 읽어 보기를 추천한다.

댓글

이 블로그의 인기 게시물

[책] 로지컬 씽킹 - LLM 시대에 다시 보는 맥킨지식 사고법

노트북 하판에 구멍내기

[책] 틀리지 않는 법 - 우리가 수학을 공부해야 하는 이유

읽을 책을 어떻게 찾을까

[책] Real MySQL 8.0