Posts 프로그래머의 뇌 1장 코딩 중 겪는 혼란에 대한 이해
Post
Cancel

프로그래머의 뇌 1장 코딩 중 겪는 혼란에 대한 이해

프로그래밍을 할 때 역할을 하는 세 가지 인지 과정과 각각의 인지 과정이 자신의 혼란 유형과 어떻게 연관되어있는지에 대한 장

1.1 코드가 초래하는 세가지 종류의 혼란

  • 지식의 부족 : 프로그래밍 언어나 알고리즘 혹은 업무 영역에 대한 지식이 없는 경우
  • 정보의 부족 : 코드를 이해하기 위한 필요한 정보를 충분히 가지고 있지 않은 경우 (모듈, 라이브러리 등)
  • 처리능력 부족 : 코드가 너무 복잡해서 혼란이 생기는 경우 (처리 능력의 부족. 처리과정을 따라가며 직접 계산해야함)

1.2 코딩에 영향을 주는 인지 과정

Long-Term Memory (LTM, 장기 기억 공간)

내용을 반 영구적으로 저장하는 곳으로, 컴퓨터의 하드 드라이브와 같은 역할. 프로그래밍과 관련하여 여러가지 정보를 저장한다. (ex : 자바 문법, 코드 키워드 의미, int 최대 값 범위 등)

코드를 이해하기 위한 기본 베이스 지식을 저장하는 곳으로 해당 지식이 부족하면 코드를 이해하기가 어려워진다.

Short-Term Memory (STM, 단기 기억공간)

들어오는 정보를 잠시 저장하기 위한 공간. 크기에 제한이 있는데, 최대 12개를 넘지 않는다는 것이 정설이다. 컴퓨터의 캐시/메모리와 같은 공간. 프로그래밍과 관련해서는 코드를 읽을 때 키워드, 변수명, 자료구조 등이 일시적으로 저장된다.

작업 기억공간

실제 사고 작용이 일어나는 곳으로 생각, 아이디어, 해결책 같은 것들이 만들어진다. 프로세스와 같은 공간.

1.3 인지과정들의 상호작용

LTM, ST, 작업기억공간은 서로 밀접하게 연관되어있다.

코드를 읽는 과정을 예를 들면

  • 어떤 변수 n 이 정수형이라는 정보 -> STM에 저장됨.
  • 정수형이 무엇인지에 대한 지식 -> LTM 에서 인출됨
  • 코드를 읽으며 무슨일을 하는지 파악 -> 작업 기억공간에서 이뤄짐

버그 리포트를 받은 상황이면

  • 몇개월 전 작성한 코드가 어떤 구조였는지 기억, 해당 버그에 대한 해결책 지식 -> LTM에서 인출
  • 코드 분석하며 읽는 정보들, 버그 리포트의 내용 -> STM 에 저장됨
  • 코드 분석, 버그 리포트 분석 -> 작업 기억공간에서 이뤄짐
This post is licensed under CC BY 4.0 by the author.

TypeScript Branded Types로 런타임 타입 안정성 개선하기

프로그래머의 뇌 2장 신속한 코드 분석

Comments powered by Disqus.