작성일 | 2023. 2. 6 |
범위 | Clean Code 도서, Chaper 5. 형식맞추기 |
[Clean Code] 5. 형식맞추기
형식을 맞추는 목적
적절한 행 길이를 유지하라
- 세로 위치가 조금만 차이나도(코드 길이) 실제 크기는 크게 달라진다.
신문 기사처럼 작성하라
- 개요 → 구체화
내용을 정확하게 요약하고 있는 제목(함수명, 변수명)
의 형식을 갖추고 있는 신문기사 처럼 코드를 작성하라
개념은 빈 행으로 분리하라
- 빈 행 다음에는 집중도가 올라간다. 빈 행은 새로운 개념을 시작한다는 시각적 단서이다.
세로 밀집도
- 서로 밀접한 코드행은 세로로 가까이 놓아야 한다.
수직거리
- 같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 연관성을 표현한다. 여기서 연관성이란 한 개념을 이해하는 데 다른 개념이 중요한 정도다.
변수 선언 위치
- 변수는 사용하는 위치에 최대한 가까이 선언한다.
인스턴스 변수
종속 함수
- 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
- 한 함수가 다른 하나를 호출한다면 두 함수는 세로로 가까이 위치한다.
개념의 유사성
- 친화도 : 직접적 종속성이 있거나, 변수와 그 변수를 사용하는 함수, 비슷한 동작을 하는 함수거나
- 친화도가 높으면 가까이 배치한다.
세로 순서
- 호출 하는 함수(선) ⇒ 호출 되는 함수(후)
- 중요 개념 ⇒ 덜 중요 개념
가로 형식 맞추기
오른 쪽 스크롤이 거의 필요 없도록
가로 공백과 밀집도
- 연산자 사이에서도 우선순위를 표현하기 위해 공백(띄어쓰기)를 사용했었는데, 코드 포맷터가 무시하고 정렬할 확률이 높음
가로 정렬
- 열을 맞추기 위한 가로 공백은 별로 유용하지 않다.
- 정렬이 필요할 정도로 선언부가 길다면 클래스를 쪼개라
들여쓰기
- 들여쓰기는 한 눈에 구조가 들어오도록 돕는다. 짧은 코드라면 한 행에 뭉뚱그리고 싶겠지만, 그러지 말라.
가짜 범위
- (?!)
팀 규칙
- 팀 규칙을 따라라
- 스타일은 일관적이고 매끄러워야 하기 때문이다
배운점
👌 보기 좋은 코드가 잘 짠 코드다. 때로는 동작하는 코드보다, 보기 좋은 코드가 낫다.
프로그래밍을 글쓰기에 비유하는 것은 많이 봤는데, 그 중에서도 신문기사에 빗댄 게 흥미로웠다.
신문기사 형식은 글 중에서도 가장 정제된 형태를 가지고 있기 때문이다. 그만큼 형식이 얼마나 중요한 지 알 수 있었다.
구체적으로는 종속 관계에서 부모 함수가 먼저 나와야 한다는 점이 파이썬에서 항상 고민하던 부분이라 와닿았다.
나머지 내용은 그동안 느끼고 있던 부분이라 글로 읽으며 정리할 수 있는 계기가 됐다.
추가로 기억하면 좋을 것 (from. leee님)
leee 님 노션 아직 안열려있어서 못가져옴
- 가로 정렬할 때 기준선 있으면 좋다, by 콩야님
- IDE에서 세로선 설정하는 방법 [VS Code]중간에 세로선 (nyaongnyaong님 블로그)
'Programming > 📚 Book Study' 카테고리의 다른 글
[Clean Code] 10. 클래스 (0) | 2023.06.13 |
---|---|
[Clean Code] 9. 단위테스트 (0) | 2023.06.05 |
[Clean Code] 6. 객체와 자료구조 (0) | 2023.05.14 |
[Clean Code] 3. 함수 (함수 작성 규칙) (0) | 2023.05.09 |
[Clean Code] 2. 의미있는 이름 (변수명) (0) | 2023.05.09 |