728x90
1. 적절한 행 길이를 유지하라
- 일반적으로 작은 파일이 큰 파일보다 이해하기 쉽다.
- 신문 기사처럼 작성하라
- 이름은 간단하면서도 설명이 가능하도록 짓자.
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을, 아래로 내려갈수록 의도를 세세하게 묘사하자. (저차원 함수와 세부 내역)
- 개념은 빈 행으로 분리하라
- 생각 사이는 빈 행을 넣어 분리해라
- 일련의 행 묶음은 완결된 생각 하나를 표현하라
- 세로 밀집도
- 연관성: 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다.
- 수직 거리
- 서로 밀접한 개념은 세로로 가까이 둬야 한다.
- 변수 선언: 변수는 사용하는 위치에 최대한 가까이 선언한다.
- 인스턴스 변수: 인스턴스 변수는 클래스 맨 처음에 선언한다.
- 종속 함수: 한 함수가 다른 함수를 호출한다면, 두 함수는 세로로 가까이 배치한다.
- 개념적 유사성: 개념적인 친화도가 높을수록 코드를 가까이 배치한다. (개념적 유사성: 종속 함수, 변수 선언 외에도 비슷한 동작을수행하는 일련의 함수들)
- 세로 순서
- 함수 호출 종속성: 호출되는 함수를 호출하는 함수보다 나중에 배치한다.(고차원에서 저차원으로 구성)
2. 가로 형식 맞추기
- 80자 ~ 120자 행 길이가 적당해 보인다.
- 가로 공백과 밀집도
- 가로 공백을 통해 밀접한 개념과 느슨한 개념을 표현한다. (IDE를 사용하면 자동으로 구성해 준다.)
private void method(String line){
int lineSize = line.length(); // = 전후로 공백을 넣음으써 할당 연산자 강조
recordWidestLine(lineSize); // () 사이에는 공백을 넣지 않았다. (함수와 인수는 서로 밀접하기 떄문)
}
- 들여 쓰기: 들여쓰기한 파일은 구조가 한눈에 들어온다.
728x90
반응형
'클린한 코드 > Clean Code' 카테고리의 다른 글
[클린 코드] 10장. 클래스 (0) | 2024.03.15 |
---|---|
[클린 코드] 9장. 단위 테스트 (0) | 2024.03.14 |
[클린 코드] 7장. 오류처리 (0) | 2024.03.13 |
[클린 코드] 3장. 함수 (0) | 2024.03.07 |