Skip to main content

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

  • 프로그래밍을 하다 보면 늘 혼란이 가득합니다.
  • 새로운 언어나 개념, 프레임워크를 배울 때는 새로 접하는 아이디어 때문에 겁먹을 수 있습니다.

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

// APL에서의 이진수 표현
2 2 2 2 2 T n
// 자바에서의 이진수 표현
public class BinaryCalculator {
public static void main(Integer n) {
System.out.println(Integer.toBinaryString(n))
}
}
// 베이직에서의 이진수 표현
LET N2 = ABS(INT(N))
LET B$ = ""
FOR N1 = N2 TO 0 SETP 0
LET N2 = INT(N1 / 2)
LET B$ = STR$(N1 - N2 * 2) + B$
LET N1 = N2
NEXT N1
PRINT B$
  • 이러한 코드들의 각각의 단계를 모두 이해하지 못하면 혼란스럽습니다.

1.1.1 혼란의 첫 번째 유형: 지식의 부족#

  • 프로그래밍 언어나 알고리즘 혹은 업무 영역에 대한 지식이 없는 경우 혼란이 생길 수 있습니다.

1.1.2 혼란의 두 번째 유형: 정보의 부족#

  • 코드를 이해하기 위해 필요한 정보를 충분히 가지고 있지 못하는 경우에 그렇습니다.

1.1.3 혼란의 세 번째 유형: 처리 능력의 부족#

  • 코드가 너무 복잡해서, 두뇌의 처리 용량이 부족해서 입니다.

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

  • 지식의 부족 = 장기 기억 공간(long-term memory, LTM)의 문제
  • 정보의 부족 = 단기 기억 공간(short-term meomry, STM)의 문제
  • 처리 능력의 부족 = 작업 기억 공간(working memory)의 문제

1.2.1 LTM과 프로그래머#

  • LTM은 오래 시간 동안 저장한다는 점에서 하드 드라이브와 비슷합니다.
  • LTM : 오랜 시간 동안 저장하는 곳입니다.

1.2.2 STM과 프로그래머#

  • 일반적으로 STM은 크기의 제한이 있으나 최대치가 12개를 넘지 않습니다.
  • 함수가 하는 일을 이해하고 나면 STM은 그 내용을 기억에서 지워버립니다.
  • STM : 읽거나 들으면서 정보를 잠시 저장하는 곳

1.2.3 작업 기억 공간과 프로그래머#

  • 작업 기억 공간은 두뇌의 프로세서로 볼 수 있습니다.
  • 컴퓨터의 프로세서와 비교할 수 있습니다.

1.3 인지 과정들의 상호작용#

  • 위의 셋은 서로 밀접하게 연관되어 있습니다.

1.3.1 인지 과정들이 어떻게 상호작용하는지에 대한 간단히 설명#

인지 과정

1.3.2 프로그래밍 업무와 관련한 인지 과정#

  • 버그를 직면했을 때 STM(새로 직면한 버그 리포트 내용)과 LTM(기존의 오류 해결법, 과거 구현 기억)에 가져와서 이를 통해 당면 문제에 대해 생각합니다.

요약#

  • 코드를 읽을 때 혼라인 생기는 이유는 지식 부족, 정보의 부족, 두뇌의 처리 능력의 부족입니다.
  • 코드를 읽거나 작성할 때 세가지 인지 과정이 일어난다
  • 첫 번째 과정은 LTM에서 정보를 인출하는 것, 키워드의 의미 같은 것들이 여기에 해당됨
  • 두 번째 과정은 메서드나 변수의 이름과 같이 코드를 읽는 과정에서 발생하는 정보를 STM에 일시적으로 저장합니다.
  • 마지막 과정은 작업 기억 공간에 일어납니다. 코드를 읽고 처리하는 일이 여기서 일어나며, 예를 들면 '인덱스 값이 하나 작다'라고 판단하는 것입니다.
  • 코드를 읽는 동안 이 세 가지 인지 과정은 다 같이 일어나며 서로 보완적으로 작용합니다.
Last updated on