Programming/📚 Book Study

[Clean Code] 5. 형식맞추기 (code format)

남남이루 2023. 5. 9. 15:37
작성일 2023. 2. 6
범위 Clean Code 도서, Chaper 5. 형식맞추기

 

 

[Clean Code] 5. 형식맞추기

형식을 맞추는 목적

적절한 행 길이를 유지하라

  • 세로 위치가 조금만 차이나도(코드 길이) 실제 크기는 크게 달라진다.

신문 기사처럼 작성하라

  • 개요 → 구체화
    내용을 정확하게 요약하고 있는 제목(함수명, 변수명)
    의 형식을 갖추고 있는 신문기사 처럼 코드를 작성하라

개념은 빈 행으로 분리하라

  • 빈 행 다음에는 집중도가 올라간다. 빈 행은 새로운 개념을 시작한다는 시각적 단서이다.

세로 밀집도

  • 서로 밀접한 코드행은 세로로 가까이 놓아야 한다.

수직거리

  • 같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 연관성을 표현한다. 여기서 연관성이란 한 개념을 이해하는 데 다른 개념이 중요한 정도다.

변수 선언 위치

  • 변수는 사용하는 위치에 최대한 가까이 선언한다.

인스턴스 변수

종속 함수

  1. 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
  2. 한 함수가 다른 하나를 호출한다면 두 함수는 세로로 가까이 위치한다.

개념의 유사성

  • 친화도 : 직접적 종속성이 있거나, 변수와 그 변수를 사용하는 함수, 비슷한 동작을 하는 함수거나
  • 친화도가 높으면 가까이 배치한다.

세로 순서

  • 호출 하는 함수(선) ⇒ 호출 되는 함수(후)
  • 중요 개념 ⇒ 덜 중요 개념

가로 형식 맞추기

오른 쪽 스크롤이 거의 필요 없도록

가로 공백과 밀집도

  • 연산자 사이에서도 우선순위를 표현하기 위해 공백(띄어쓰기)를 사용했었는데, 코드 포맷터가 무시하고 정렬할 확률이 높음

가로 정렬

  • 열을 맞추기 위한 가로 공백은 별로 유용하지 않다.
  • 정렬이 필요할 정도로 선언부가 길다면 클래스를 쪼개라

들여쓰기

  • 들여쓰기는 한 눈에 구조가 들어오도록 돕는다. 짧은 코드라면 한 행에 뭉뚱그리고 싶겠지만, 그러지 말라.

가짜 범위

  • (?!)

팀 규칙

  • 팀 규칙을 따라라
  • 스타일은 일관적이고 매끄러워야 하기 때문이다

 

배운점

👌 보기 좋은 코드가 잘 짠 코드다. 때로는 동작하는 코드보다, 보기 좋은 코드가 낫다.
프로그래밍을 글쓰기에 비유하는 것은 많이 봤는데, 그 중에서도 신문기사에 빗댄 게 흥미로웠다.
신문기사 형식은 글 중에서도 가장 정제된 형태를 가지고 있기 때문이다. 그만큼 형식이 얼마나 중요한 지 알 수 있었다.

구체적으로는 종속 관계에서 부모 함수가 먼저 나와야 한다는 점이 파이썬에서 항상 고민하던 부분이라 와닿았다.
나머지 내용은 그동안 느끼고 있던 부분이라 글로 읽으며 정리할 수 있는 계기가 됐다.

추가로 기억하면 좋을 것 (from. leee님)

leee 님 노션 아직 안열려있어서 못가져옴