코딩하는 털보

클린 코드, 5. 형식 맞추기 본문

Book/클린 코드

클린 코드, 5. 형식 맞추기

이정인 2021. 8. 25. 13:27

클린 코드, 5. 형식 맞추기

프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다.

  • 형식을 맞추는 목적
    의사소통은 전문 개발자의 일차적인 의무이며 코드 형식은 의사소통의 일환이다.
  • 적절한 행 길이를 유지하라.
    일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다.
    • 신문 기사처럼 작성하라.
      이름은 간단하면서도 설명이 가능하게, 첫 부분은 고차원 개념과 알고리즘을 설명 내려갈수록 저차원 함수와 세부 내역.
    • 개념은 빈 행으로 분리하라.
      빈 행은 새로운 개념을 시작한다는 시각적 단서다. 완결된 생각하나를 행 묶음으로 표현하고 생각 사이에 빈 행을 넣어 분리한다.
    • 세로 밀집도
      서로 밀접한 코드 행은 세로로 가까이 놓여야 한다.
    • 수직 거리
      서로 밀접한 개념은 세로로 가까이 둬야 한다. 연관성이 깊은 두 개념이 멀리 떨어져 있으면 코드를 읽는 사람이 소스 파일과 클래스를 여기저기 뒤지게 된다.
  • 변수 선언
    변수는 사용되는 위치에 최대한 가까이 선언한다. 지역 변수는 각 함수 맨 처음에 선언한다.
  • 인스턴스 변수
    인스턴스 변수는 클래스 맨 처음에 선언한다.
  • 종속 함수
    한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 가능하다면 호출하는 함수를 먼저(위에) 배치한다.
  • 개념적 유사성
    비슷한 동작을 수행하는 일군의 함수들을 가까이 배치한다.
  • 가로 형식 맞추기
    짧은 행이 바람직하다. 왠만하면 120자 내로.
    • 가로 공백과 밀집도
      가로 공백으로 두 가지 요소를 나누고 공백을 넣지 않으면 밀집도를 높여준다.
      ex) int lineSize = line.length();
      ex) b*b - 4*a*c
    • 가로 정렬
      가로 정렬은 엉뚱한 부분을 강조해서 진짜 의도가 가려질 수 있다.
    • 들여쓰기
      계층에서 코드가 자리잡은 수준에 비례하여 들여쓰기 한다.
  • 팀 규칙
    팀에 속한다면 팀 규칙에 합의하고 모든 팀원들이 그 규칙을 따라야 소프트웨어가 일관적인 스타일을 보인다.
    온갖 스타일을 뒤섞어 소스 코드를 필요 이상으로 복잡하게 만드는 실수는 반드시 피해야한다.
Comments