🚀 94sssh
Published on

2023.11.23

[프로그래머의 뇌] - 05 / 06

이번 챕터들은 읽기 정말 어려웠다.
용어들이 정말 많이 소개되었고, 과거의 방식에 대한 소개나 단계 나열 등의 방식이 많아 독서에 속도가 나질 않았다...

주의 깊게 본 부분은 요즘 가장 힘들어하는 것 중 하나인 변수명을 다루는 부분이었다.
이름을 짓는 것은 정말 어려운 작업이다. 변수명이든, 파일 이름이든, 심지어 커밋 메세지를 작성할 때
이미 종류를 어느 정도 정해놓은 커밋 컨벤션에서 적합한 내용을 고르는 것조차 헷갈리곤 한다.
그중에서도 가장 어려운 건 변수명이다.
너무 포괄적이거나, 너무 구체적이거나 혹은 기준이 불분명하거나 납득하기 어려운 이름들...

const data = ... // 너무 포괄적...

const investProductReturnRate = ... // 너무 구체적...

const response = ... // data랑 같은 내용인데 어느 곳에서는 response

아쉬운 점은 직접적인 해결책을 제시해주진 않았다는 것이다.
사실 책에서 제시한 11가지 변수의 역할도 쉽게 이해되진 않았다...
물론, 이름같이 광범위한 내용들을 몇 가지 규칙으로 묶는 것 자체가 쉽지 않기에 정답을 제시해줄 수 없기도 하고,
책에서 다루고자 한 내용은 변수명 짓기에 관한 내용보다는 프로그래머의 코드를 읽는 방식과 인지 과정에 관한 내용 등이었다.

숙련된 프로그래머는 코드를 하향식보다는 콜 스택을 좇아 읽는다고 한다.
그리고 내가 읽고 있는 코드에 대한 이해를 하고, LTM 등의 기억을 통해 중요한 라인 등을 분류한다.
여기서 변수명은 이제 표식이 되어 코드 읽기에 도움을 주는 역할을 한다.
언어에서도 단어를 아는 만큼 들리는 것처럼, 처음 보는 복잡한 로직의 코드를 읽을 때 명료한 변수명은 이해를 크게 돕는다.
한 번 날을 잡아 더 기술 부채가 쌓이기 전에 이름과 관련된 규칙을 만들어 보고 프로젝트에 적용해 깔끔하게 하고 싶다.

6챕터는 그렇구나 하면서 읽다 보니 끝이 났다.
정신 모델을 통해 코드를 이해하는 과정에서 인지 부하를 줄이고,
개념적 기계를 통해 컴퓨터의 작동 방식을 이해한다는 설명을 끄덕이며 읽다 보니 끝이 났다.
추상적인 복수의 개념을 한 번에 이해하기는 너무 어려웠다.
이후 챕터들을 읽으면서 반복해서 용어에 노출되다 보면 조금은 더 이해되지 않을까 싶다~