본문 바로가기
source-code/software

프로그래머의 뇌

by mattew4483 2023. 8. 30.
728x90
반응형

책을 읽다 인상 깊었던 부분

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

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

1. 지식의 부족 : 프로그래밍 언어나 알고리즘 혹은 업무 영역에 대한 지식이 없는 경우 혼란 발생

2. 정보의 부족 : 코드를 이해하기 위해 필요한 정보를 충분히 가지고 있지 못하는 경우 혼란 발생

3. 처리 능력의 부족 : 코드가 너무 복잡해, 두뇌의 처리 용량이 부족하기 때문에 혼란 발생

현 팀에서 겪는 혼란은, 대부분 3에서 기인한다. 각 단계에서 어떤 일이 실행되는지 이해하기 어려운 코드들이 초래하는 혼란은 피할 수 없다. 위에서 아래로 왔다 갔다 해야만, 코드 중간중간 주석을 달아야만 이해할 수(심지어 이래도 처리가 힘들 수도) 있다.

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

1. 지식의 부족 → 장기 기억 공간(LTM)에 해당 내용이 없기 때문 : 오랜 기간에 걸쳐 얻은 정보를 저장하는 장소

2. 정보의 부족 → 단기 기억 공간(STM)에 해당 내용이 없기 때문 : 방금 전에 읽거나 들은 정보를 일시적으로 저장하는 장소

3. 처리 능력의 부족 → 작업 기억 공간의 문제 : 정보를 처리하고 새로운 사고 작용을 형성하는 곳

 

즉 코드를 읽거나 작성할 때 세 가지 인지 과정이 일어난다.

1) LTM에서 정보를 인출(키워드의 의미 같은 것들이 해당됨)

2) 메서드나 변수의 이름과 같이, 코드를 읽는 과정에서 발생하는 정보를 STM에 일시적으로 저장

3) 코드를 읽고 처리(작업 기억 공간에서 일어남), ex) '인덱스 값이 하나 작아서 오류가 발생했구나'라고 판단하는 것

특정 코드가 혼란을 초래한다면, 해당 코드로 인해 어떤 인지 과정이 일어나는지 살펴보자. 어떤 과정에서 문제가 생겼는지를 알면, 해결하기는 식은 죽 먹기일테니!

 

신속한 코드 분석

프로그램은 사람이 읽을 수 있도록 작성해야만 한다. 기계가 실행하는 것은 부차적인 일이다.
이제는 (감히) 말할 수 있다. 한번 작성한 후 다시 보지 않는 코드는 없다. 다른 사람이던, 본인 스스로던!
스타트업에서 근무한다는 이유로, 속도가 중요하다는 이유로, 일회성에 그칠 프로젝트라는 이유로, '읽기 쉬운' 코드를 작성하기 위한 노력을 포기해서는 안된다. 

기억의 크기 제한을 극복하기

STM은 제한된 크기를 가지며, 2~6개 사이라는 연구 결과O

그 보다 더 많은 기억은 어떻게 가능해지는가? → 단위로 묶는 것(chunk)의 위력! - 하나의 단위는 하나의 STM 용량만 차지한다

 

그룹으로 나누기 쉬운(두뇌에서 처리하기 쉬운) 코드 작성 방법?

  • 디자인 패턴의 사용
  • 주석문 쓰기
  • 표식 남기기 - 단순 표식(의미 있는 변수명과 같이, 코드의 문법을 통해 의미가 자명한 표식) / 복합 표식(단순 표식들이 모여 함께 실행하는 기능에 대해 알려줌)
팀으로서, 규모가 큰 프로젝트를 개발할 때는, 디자인 패턴이 강력한 힘을 발휘하지 않을까. 패턴 속 수많은 로직들이 LTM에 저장되거나, 혹은 단 하나의 STM 용량만 차지하게 될 테니 말이다.
728x90
반응형