코드를 읽는 것은 힘들다. 왜냐하면 단기 기억 공간과 장기 기억 공간 그리고 작업 기억 공간을 활용하는 복잡한 인지 과정이 있기 때문이다.
지식이 부족해서, 정보가 부족해서, 처리 능력이 부족은 코드를 읽는 것들 더 힘들게 한다. 따라서 우리는 장기 기억 공간에 지식을 쌓아놔야, 단기 기억 공간의 정보 부족 문제를 해결하기 위해 chunking 하는 연습을 하고, 처리 능력을 향상시킬 수 있도록 인지 부하를 줄여야 한다. 그러한 것들을 어떻게 할 수 있는지 다룬다.
코드를 빨리 읽을 때 두뇌에서 무슨 일이 일어나는지 알면 코드를 얼마나 잘 이해하고 있는지 스스로 확인해 보기가 더 쉽다. - 15p
코드를 읽을 때 두뇌에서 어떤 일이 일어나는지 알고 있으면, 내가 코드가 읽히지 않을 때 왜 읽히지 않는지 빠르게 피드백을 얻을 수 있고, 그래서 무엇을 해야 하는가를 빠르게 결정할 수 있게 된다.
저장된 정보를 쉽게 인출할 수 있어야 한다. 우리 삶의 많은 것이 그렇듯이 인출을 더 쉽게 하기 위해서는 많이 연습해야 한다. - 46p
정보를 넣는 것도 중요하지만, 인출하는 것도 중요하다. 인출 위주의 학습법을 적용해야 하는 이유다.
익숙하지 않은 코드를 읽을 때 인지 부하가 높아진다. - 71p 어디서부터 읽기 시작해야 할지 알아야 한다는 것이다. - 82p
익숙하지 않은 코드가 인지 부하가 높은 이유는 코드 작성자의 목적이 무엇인지 알 수 없기 때문이다. 그래서 코드의 초점을 먼저 찾는 것이 우선이다.
사고방식을 확장하기 공통점과 차이점에 의식적으로 주의를 기울이면 새로운 언어를 배우는 일이 쉬워질 것이다. - 126p
뭔가 알 것 같은 것을 배울 때 능동적으로 학습하는 게 어려운데, 내가 알고 있는 것과, 모르는 것, 차이점과 공통점을 비교해가며 학습하면, 잘못된 학습을 하는 것도 막아줄 뿐만 아니라 더 능동적으로 학습할 수 있다.
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!