[책] 프로그래머의 뇌 - 좋은 코드가 무엇인지에 대한 인지과학적 설명
프로그래머의 뇌 는 프로그래머들이 흔히 말하는 '좋은 코드'란 무엇인지, 그리고 코드를 어떻게 하면 더 잘 읽을 수 있는지를 인지과학의 관점에서 설명하고, 이를 바탕으로 프로그래밍을 더 효과적으로 수행하는 방법을 제시하는 책이다. 이 책에서 소개하는 실천적인 조언의 상당수는 낯설지 않다. 클린 코드 , 리팩터링 , 실용주의 프로그래머 같은 서적에서 이미 제시된 조언들이다. 이 책의 차별점은 새로운 원칙을 제시하는 데 있다기보다, 기존의 원칙이 왜 효과적인지를 인지과학에 근거해 설명한다는 데 있다. 이 책은 좋은 코드를 독자의 기억과 사고에 불필요한 부담을 주지 않는 코드로 바라보고, 그 부담을 줄이는 방법을 설명한다. 이미 다른 책에서 접할 수 있는 내용을 굳이 다시 알아야 하느냐고 물을 수도 있다. 내가 생각하는 이 책의 가치는 우리가 경험적으로 알고 있던 현상에 이름을 붙여 준다는 데 있다. 나 역시 코드를 어떻게 작성해야 하는지는 알고 있었지만, 이를 다른 사람에게 설명할 때는 코드 리뷰를 통해 그때그때 개별적인 조언을 건네는 데 그치곤 했다. 이 책을 읽고 나서는 파편화되어 있던 경험에 적절한 이름과 설명을 붙이고, 그 조언이 필요한 이유까지 이야기할 수 있게 되었다. 이름을 붙이면 현상을 식별하고 동료와 논의하는 데 도움이 될 뿐 아니라 기억에도 더 오래 남는다. 이 책의 표현을 빌리자면, 관련 정보를 장기 기억에 저장하고 필요할 때 인출하기도 쉬워지는 것이다. 이 책을 읽어야 하는 또 다른 이유는 클린 코드 나 리팩터링 에서 제시하는 규칙을 교조적으로 받아들이는 데 그치지 않고, 그 배경에 있는 원리를 이해할 수 있다는 점이다. 원리를 알고 있으면 책에서 제시한 규칙이 그대로 적용되지 않는 상황에서도 다른 해결책을 찾을 수 있기 때문이다. 다만, 이 책은 인지과학을 사용해 프로그래밍을 설명하는 책이지, 인지과학 자체를 설명하는 책은 아니다. 따라서 같은 현상에 대한 여러 이론적 논쟁을 다루지 않고, 실용적 설명을 위...