본문 바로가기

클린 코드

5장 형식 맞추기

😃 책에서 기억하고 싶은 내용을 써보세요.

  • 코드가 깔끔하고, 일관적이며 꼼꼼해야 함 -> 형식을 깔끔하게 맞추는 것이 중요. 귯칙을 따라야 한다. 규칙을 자동으로 적용하는 도구를 활용하라
  • 코드 형식은 의사소통의 일환으로, 매우 중요하다.
  • 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.
  • 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다.
  • 세로
  • 적절한 행 길이: 평균 파일 크기는 약 65줄이다. 대략 1/3의 파일이 40-100줄 사이이고 가장 긴 파일은 약 400줄, 가장 짧은 파일은 6줄.
  • 신문 기사처럼 작성하기. 최상단에 몇 마디로 요약하는 표제, 첫 문단이 전체 내용을 요약, 쭉 읽으며 내려가면 세세한 사실 묘사. 즉 소스 파일의 첫 부분은 고차원 개념과 알고리즘을 설명한다. 마지막에 가장 저차원 함수와 세부 내역.
  • 이름은 간단하면서도 설명이 가능하도록 짓는다. 이름만 보고도 올바른 모듈을 살펴보고 있는지 아닌지 판단할 정도로 신경써서 짓는다.
  • 개념은 빈 행으로 분리하라.
  • 세로 밀집도(연관성).
  • 서로 밀접한 개념은 세로로 가까이 둬야함.
  • 변수는 사용하는 위치에 최대한 가까이서 선언.
  • 지역 변수는 각 함수 맨 처음에 선언.
  • 인스턴스 변수는 클래스 맨 처음에 선언. 변수간에 거리두지 않음.
  • 인스턴스 변수가 너무 많다면 클래스를 쪼개야 한다는 의미
  • 종속함수는 서로 가까이 배치한다(한 함수가  다른 함수 호출할 때). 호출하는 함수를 호출되는 함수보다 먼저 배치.
  • 개념적 유사성(친화도)가 높을수록 가까이 배치
  • 한 함수가 다른 함수 호출해 생기는 종속성
  • 변수와 그 변수를 사용하는 함수
  • 비슷한 동작을 수행하는 일군의 함수.(명명법 같고 기본기능 유사하고 간단.)
  • 세로 순서
  • 호출 종속성은 아래 방향으로.(모듈이 고차원에서 저차원으로 자연스럽게)
  • 가장 중요한 개념 먼저 표현. 소스 파일 첫 함수 몇 개만 읽어도 개념 파악 가능하도록.
  • 가로
  • 적절한 행 길이: 평균 45자. 40%의 행들이 20-40자 사이이다. 80자 이상은 없다. 즉 짧은 행이 바람직. 오른쪽으로 스크롤 할 필요가 없는 코드.
  • 가로 밀집도
  • 할당 연산자는 앞뒤 공백
  • 함수 이름과 이어지는 괄호에는 공백 없다.
  • 함수 호출 시 괄호 안 인수들은 공백으로 분리
  • 연산자 우선순위 강조를 위해 공백 사용하기도. a*4 + 12
  • 들여쓰기로 Scope 표현한다.
  • 팀 규칙 짜기. 괄호 어디어 넣을지, 들여쓰기는 몇 자?, 클래스 변수와 메서드 이름 형식 등.

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 코드 형식 맞추기는 개발의 정말 기본 중의 기본!
  • 조금 오래된 내용들이 많다. 요새는 툴이 정말 많아서 굳이 팀 규칙을 직접 정하기보다는 그냥 자동화된 툴을 commit 전 githook으로 설정해둔다.
  • 파이썬에서는 기본 PEP규칙을 많이 따르는 편이고 black, mypy 등의 툴을 사용한다.
  • Test coverage 검사하는 툴도 있고, SonarCube 라는 코드 퀄리티 관리 오픈소스 등도 있으니 사용법을 알아두면 좋을 듯 하다.

🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 없음

'클린 코드' 카테고리의 다른 글

6장 객체와 자료구조  (0) 2022.04.20
4장 주석  (0) 2022.01.31
3장 함수  (0) 2022.01.28
2장 의미 있는 이름  (0) 2022.01.25
1장 깨끗한 코드  (0) 2022.01.22