Dev/Books

[CleanCode] 5장. 형식 맞추기

kyeoneee 2020. 5. 12. 23:53
반응형

목차

  1. 형식을 맞추는 목적
  2. 적절한 행 길이를 유지하라
  3. 가로 형식 맞추기
  4. 팀 규칙

프로그래머는 규칙에 맞게 형식을 깔끔하게 맞춰 코드를 짜야 한다.
팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다.


형식을 맞추는 목적

맨 처음 잡아놓은 코드의 스타일과 가독성은 유지보수 용이성과 확정성에 계속 영향을 미친다.


적절한 행 길이를 유지하라

  • 신문 기사처럼 작성하라
    소스 파일은 고차원 개념/알고리즘 -> 저차원 함수와 세부 내역 순으로 아래로 내려갈수록 의도를 세세하게 표현
  • 개념은 빈 행으로 분리하라
  • 세로 밀집도
    서로 밀접한 코드 행은 세로로 가까이 놓여야 함
  • 수직 거리
    변수 선언 - 사용하는 위치에 최대한 가까이 선언
    인스턴스 변수 - 클래스의 맨 처음에 선언, 변수 간에 세로로 거리를 두지 않음
    종속 함수 - 한 함수에서 호출하는 다른 함수는 세로로 가까이 배치 (함수 -> 호출되는 함수 순서)
    개념적 유사성 - 친화도가 높을수록 코드를 가까이 배치 (한 함수가 다른 함수를 호출하는 직접적인 종속성, 변수와 그 변수를 사용하는 함수, 명명법이 똑같거나 기능이 같은 함수)
  • 세로 순서
    함수 호출 종속성은 아래 방향으로 유지, 자연스럽게 소스 코드 모듈이 고차원 -> 저차원으로 기술

가로 형식 맞추기

Max 120자

  • 가로 공백과 밀집도
    공백을 통해 개념을 분리 (e.g., 할당 연산자, parameter 분리를 위한 ", ")
    연산자 우선순위 구분을 위한 공백 추가
  • 가로 정렬
    정렬이 필요할 정도로 목록이 길다면 클래스를 쪼개는 방법을 고려
  • 들여쓰기
    scope로 이뤄진 계층을 표현하기 위해 사용
    1줄의 if/while/함수도 꼭 {} 괄호를 사용하며 들여쓰기를 사용
  • 가짜 범위
    빈 while/for문은 다음 행에 세미콜론을 들여써서 작성

팀 규칙

팀에 속해 있다면?
각자의 선호하는 규칙 < 팀 규칙

반응형

'Dev > Books' 카테고리의 다른 글

[CleanCode] 7장. 예외 처리  (0) 2020.05.16
[CleanCode] 6장. 객체와 자료 구조  (0) 2020.05.15
[CleanCode] 4장. 주석  (0) 2020.05.12
[CleanCode] 3장. 함수  (0) 2020.05.06
[CleanCode] 2장. 의미있는 이름  (0) 2020.05.02