[서적] 프로그래머의 뇌

  • 코드 이해하기

    • 프린트나 주석 등 달아서 이해할 수 있는 방식으로 최대한 이해해보기
    • 특정 클래스의 기능 or 특정 기능을 하는데 이용되는 클래스 정의 & 객체 간의 관계
    • 방금 전에 읽은 코드를 요약해보기 & 이것을 다른 사람과 나눌 수 있으면 더욱 좋다.
  • 업무 중단이 되지 않게 노력하자

    • 중단에 잘 대처하도록 주석이나 문서화
  • 오랜 기간동안 더 자주 학습할수록 오래 기억한다.
  • 쉽게 찾아볼 수 있다는 이유로 외우지 않는 것은 흐름을 끊기게 하고, 계속해서 찾아보기만 하는 악순환을 만든다.
  • 잘 지은 이름은 가장 쉬운 문서화의 형태이다.

    • 코딩하는 도중에 이름에 대해 숙고하긴 어려울 수 있다 -> 코딩 이외의 시간에 숙고한다.
  • 변수가 나타내고자 하는 바를 잘 이해해야 한다.

    • 변수 종류에 따른 분류
    • 고정값: 상수
    • stepper: 반복문 돌면서 단계적으로 변하는 값 예) left = currenNode.left
    • flag: 무언가 발생했거나 변했음 알려줌 예) is_available
    • walker
    • most recent holder: 가장 최근의 변경값 갖는 변수 예) ele = arr[i]
    • most wanted holder: 최솟값이나 최댓값 등 특정 목적에 부합하는 값
    • gatherer: 모아지는 데이터를 저장하는 변수 예) sum += arr[i]
    • container: 값을 새로 추가, 삭제할 수 있는 자료구조일 때의 변수 예) 트리에 대한 변수는 모두 컨테이너
    • follower
    • organizer
    • temporary: 임시로만 사용. 보통 temp나 t로 표시
    • 기능에 따른 분류 (모든 상황이 이렇게 2가지로 분류는 아님. 예를 들어 CustomerList 등도 얼마든지 쓸 수 있으니)
    • 도메인관련: Customer, Package
    • 프로그래밍 개념과 관련: Tree, List

출처 펠리너 헤르만스, 프로그래머의 뇌(제이펍, 2022)


Written by
Sunmin
어제보다 나은 오늘을 만들기 위해 배우고, 기록하고, 회고합니다. Maker. Reader. Realistic optimist.