Part 1. 코드 더 잘 읽기

Chapter 1 코딩 중 겪는 혼란에 대한 이해

코드를 이해할 때 겪는 혼란은 크게 3가지로 지식의 부족, 정보의 부족, 처리 능력의 부족 입니다.

지식의 부족은 장기 기억 공간(Long term memory, LTM)의 부족이고, 정보의 부족은 단기 기억 공간(Short term memory, STM)의 부족이고, 처리 능력의 부족은 작업 기억 공간(Working memory)의 부족 입니다.

컴퓨터로 비교하자면 LTM은 보조기억장치, STM은 주기억장치, 작업 기억 공간은 CPU 입니다.

위의 3가지 memory를 가지고 코드를 이해하는 과정을 거칩니다.

위에 작성된 여러가지의 부족으로 인해 코드를 이해하는데 큰 어려움을 겪기 때문에 우리는 이런 부족한 능력을 향상시키기 위해 노력해야 합니다.

Chapter 2 신속한 코드 분석

프로그래머의 절반 이상은 코드를 이해하는데 사용되고 코드를 빠르게 이해하는게 프로그래밍 기술 향상에 도움이 됩니다.

코드를 분석 할 때 문법에 대한 언어적 지식은 LTM에서 가져오고 알고리즘에 대한 정보는 STM에서 가져옵니다. 한 예로 삽입 정렬에 대한 자바 코드를 볼 때 for나 if와 같은 언어적 지식을 LTM에서 가져오고 알고리즘 구현에 대한 부분을 STM에서 가져오기 때문에 이런 지식이 충분하다면 코드를 신속하게 분석 할 수 있습니다.

STM의 크기 제한을 극복하기 위해서 LTM의 지식이 필요합니다. 예를 들어 무작위 단어인 abk, tidpf, qwldi 보다 love, cat, dog 등이 더 쉽게 외워집니다.

기억하는 대상이 중요한 것이 아니고 기억하는 방식이 중요합니다.

불필요한 주석은 오히려 코드를 분석하는데 방해가 됩니다.

개발하면서 절반 이상은 코드를 분석하는데 사용하기 때문에 신속한 개발을 위해 빠르게 코드를 분석하는게 필요합니다. 작업 기업 공간도 제한이 있고 STM도 제한있기 때문에 우리는 LTM을 늘리기 위해서 많은 지식들을 미리 공부해서 체화 해야 합니다. 결국 지식을 늘리는 것이 개발력을 향상 시킨다고 할 수 있습니다.