🔖 오늘 읽은 범위 : 5장
😃 책에서 기억하고 싶은 내용을 써보세요.
주제 : 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다.
형식을 맞추는 목적
- 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다.
- 코드 형식은 의사소통의 일환이다. (96p)
원활한 소통을 장려하는 코드 형식은 무엇일까?
적절한 행 길이를 유지하라.
- 500줄을 넘지 않고 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다.
- 반드시 지킬 엄격한 규칙은 아니지만 바람직한 규칙으로 삼으면 좋겠다. 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다. (97p)
신문 기사처럼 작성하라
- 이름은 간단하면서도 설명이 가능하게 짓는다.
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명하고, 아래로 내려갈수록 의도를 세세하게 묘사한다.
개념은 빈 행으로 구분하라
- 각 행은 수식이나 절을 나타내고, 일련의 행 묶음은 완결된 생각 하나를 표현한다. 빈 행은 새로운 개념을 시작한다는 시각적 단서다. (98p)
세로 밀집도
- 줄 바꿈이 개념을 분리한다면 세로 밀집도는 연관성을 의미한다. 즉, 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다는 뜻이다.
- 의미 없는 주석으로 관련 있는 두 인스턴스 변수를 떨어뜨리면 안된다.
수직 거리
- 연관성이 깊은 두 개념이 멀리 떨어져 있으면 코드를 읽는 사람이 소스 파일과 클래스를 여기저기 뒤지게 된다.
-
변수 선언
- 변수는 사용하는 위치에 최대한 가까이 선언한다.
-
인스턴스 변수
-
종속 함수
- 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다.
- 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
-
개념적 유사성
- 개념적인 친화도가 높을수록 코드를 가까이 배치한다. (106p)
세로 순서
- 호출되는 함수를 호출하는 함수보다 나중에 배치한다.
- 신문 기사와 마찬가지로 가장 중요한 개념을 가장 먼저 표현한다.
- 세세한 사항은 가장 마지막에 표현한다.
가로 형식 맞추기
- 사실은 80자 이후부터 행 수는 급격하게 감소한다. 프로그래머는 명백하게 짧은 행을 선호한다.
- 개인적으로는 120자 정도로 행 길이를 제한한다.
가로 공백과 밀집도
들여쓰기
- 들여쓰기한 파일은 구조가 한눈에 들어온다.
-
들여쓰기 무시하기
- 때로는 간단한 if 문, while 문, 짧은 함수에서 들여쓰기 규칙을 무시하고픈 유혹이 생긴다.
- 들여쓰기로 범위를 제대로 표현한 코드를 선호한다.
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 무의식 중에 지키고 있던 형식도 있고, 그렇지 못했던 형식들도 있는 것 같다. 이번에 형식에 대해서 공부를 했으니 좀 더 잘 지켜야겠다.
- Prettier, ESLint와 같이 형식을 맞춰주는 툴의 중요성을 느끼게 되었다.
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
🔥 소감 3줄 요약
- 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다.
- 신문 기사처럼 작성하라.
- Prettier, ESLint 와 같이 형식을 맞춰주는 툴을 보다 적극적으로 활용해야겠다.