오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다.
일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다.
신문 기사처럼 작성하라
이름만 보고도 올바른 모듈을 살펴보고 있는지 아닌지를 판단할 정도로 신경 써서 짓는다.
소스 파일 부분은 고차원 개념과 알고리즘을 설명한다.
아래로 내려갈수록 의도를 세세하게 묘사한다.
개념은 빈 행으로 분리하라
빈 행은 새로운 개념을 시작한다는 시각적 단서다.
세로 밀집도
서로 밀접한 코드 행은 세로로 가까이 놓아야 한다,
수직 거리
같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 연관성을 표현한다.
연관성 : 한 개념을 이해하는 데 다른 개념이 중요한 정도
변수 선언
변수는 사용하는 위치에 최대한 가까이 선언한다.
인스턴스 변수
인스턴스 변수는 클래스 맨 처음에 선언한다. 변수 간에 세로로 거리를 두지 않는다.
종속 함수
한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
개념적 유사성
개념적인 친화도가 높을수록 코드를 가까이 배치한다.
세로 순서
호출되는 함수를 호출하는 함수보다 나중에 배치한다.
잘보고갑니다 ^^