CS/클린코드(cleancode)

5장. 형식 맞추기

rachel_13 2022. 10. 30. 10:03

5-1. 형식을 맞추는 목적

  • 코드 형식은 언제나 중요하다

“오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.”

코드가 너무 많이 바뀌어서 이력을 찾아보기 힘들어지더라도, 처음 작성시 잡아둔 구현 스타일과 가독성 수준은 유지보수의 용이성, 확장성에 영향을 미칠 수 밖에 없다.

원활한 소통을 장려하기 위한 형식은 무엇일까?

 

5-2. 적절한 행 길이를 유지하라.

  • 신문기사 처럼 위→ 아래로 시선의 흐름대로 코드가 읽힐 수 있도록 작성하기
  • 개념은 빈 행으로 구분해라. → 덩어리화
  • 세로 밀집도 → 연관성
  • 수직거리
    • 소스의 조각들이 어디에 있는지 거슬러 올라가는 작업은 많은 시간과 노력을 필요로 한다.
    • 서로 밀접한 개념은 세로로 가까이둔다.
  • 변수선언 : 사용하는 위치에 최대한 가깝게 한다.
  • 인스턴스 변수 : 클래스 맨 처음에 선언한다. 변수 간에 세로로 거리를 두지 않는다.
  • 종속변수 : 한 함수가 다른 함수를 호출할 경위, 두 함수는 세로로 가까이 있어야 한다. → 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
  • 예)

  • 개념적 유사성 : 개념적인 친화도가 높을수록 코드를 가까이 배치한다.
    • 종속성 관계에 있는 함수
    • 변수와 그 변수를 사용하는 함수
    • 비슷한 동작을 수행하는 일군의 함수 (명명법이 똑같고, 기본 기능이 유사함)

5-3. 가로 형식 맞추기

  • 120자 정도의 행 길이 제한이 적절해보인다.
  • 가로 공백과 밀집도
  • 들여쓰기
    • 소스파일 〰 윤곽도
    • 파일구조 한눈에 보기

5-4. 팀 규칙

개발자마다 선호하는 규칙이 있을 것이다.

팀 프로젝트를 한다면, 내가 선호해야 할 규칙은 바로 팀 규칙이어야 한다.

사전에 협의를 통해서 코드 스니펫, 스타일, 규칙등을 논의해야 한다.

예를 들면, 탭 사이즈는 몇으로 할 지, singleQuote를 쓸지 doubleQuote를 쓸지, 클래스와 변수명은 어떻게 작명할지 등에 대해서 말이다.

스타일이 일관적이어야 가독성도 높아지고 매끄러워진다.