우리가 프로그래밍을 할 때 뇌에서는 무슨 일이 벌어지는지, 그리고 이를 더 활성화하고 효율적으로 사용하려면 어떻게 해야하는지에 대해 이야기한다. 1. 코드를 읽을 때 우리의 뇌는 LTM(장기 기억 공간), STM(단기 기억 공간), 그리고 작업 기억 공간 3가지가 쓴다. LTM은 언어의 문법과 같은 영구 저장된 기억을, STM은 변수명, 함수의 역할 등 코드를 읽으며 머릿 속에 저장한 기억을 말한다. 그리고 작업 기억 공간은 LTM과 STM에서 기억을 꺼내 코드를 읽고 처리하는 일을 한다. 위 내용과 함께 아래 이야기를 하는데 상당히 신선하게 와닿았다. - STM에 저장할 수 있는 양(2-6개)는 한정적이기에 우리는 LTM에 더 많은 정보를 저장해야한다. ’문법은 그 때 그 때 찾아보면 돼’라고 이야기 하고는 한다. 그런데 이 이야기에 대해 조금 다른 관점에서 이야기하는 내용이다. 문법을 그 때 그 때 찾아보면 이는 우리의 STM에 저장하는 것을 의미한다. STM에는 2-6개라는 최대 개수가 존재하는데 문법을 그 공간에 넣어버리면 우리 뇌가 처리할 수 있는 양은 점점 적어지는 것을 의미한다. 그렇기에 우리가 언어의 문법을 외워 LTM에 저장하는 것은 코드를 읽고 작성하는데 있어서 충분히 유의미한 행동이라할 수 있다. 2. 좋은 이름을 사용하면 LTM을 활성화해 코드 도메인에 대해 이미 알고 있는 관련 정보를 찾을 수 있다. 우리가 좋은 변수명을 사용해야하는 수많은 이유 중 하나이다. 좋은 변수명은 ‘이해하기 쉽다’는 장점이 있다. 이와 함께 ‘기억하기 쉽다’는 장점도 있다. 왜냐하면 우리의 LTM을 활성화해 STM의 사용을 줄일 수 있기 때문이다. 3. 우리는 복잡한 코드를 읽을 때 인지 부하를 줄여야한다. 이를 위해서 의존 그래프, 상태표, 변수 역할 프레임워크 등을 사용할 수 있다. 참 좋은 방법이라 생각한다. 근데 이런 그래프와 표를 그려가면서까지 코드를 이해하기에는 시간이 오히려 더 오래 걸리는게 아닐까..라는 생각이 든다. 그럼에도 저자가 이러한 방식을 추천하는 이유가 있을터니 다음에 정말 복잡한 코드를 만나게 되면 실천해보고자 한다. (총평) 개인적으로 나는 ‘이렇게 하세요!’라고 알려주기를 바랬는데, 그보다는 ‘뇌에서는 이런 과정이 벌어져요. 그러니 이러이러하게 하세요’와 같은 이야기 전개를 해나갔다. 다시말해 명확한 솔루션보다는 그 솔루션에 대한 뇌를 기반한 근거에 대한 설명이 비교적 더 많았다. 근거보다 명확한 솔루션을 바란 나에게는 썩 만족스러운 책은 아니었다.