Data Science

[Clean Code] 1장 깨끗한 코드

봄프로 2024. 2. 20. 22:27

프로그래밍은 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이며, 이렇게 명시한 결과가 바로 코드다. 궁극적으로 코드는 요구사항을 표현하는 언어이다.

 

르블랑의 법칙(leblanc's Law): 나중에 코드를 정리하겠다고 하지만, 나중은 결코 오지 않는다.

  • 나쁜 코드가 샇일수록 팀 생산성은 떨어진다.
  • 요구사항 변경, 일정 등의 핑계를 대나, 잘못은 전적으로 프로그래머에게 있다.
  • 빨리 가는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

비야네 스트롭스트룹(C++ 창시자)

  • 보는 사람에게 즐거움을 선사해야 한다.
  • 속도 뿐만 아니라 CPU 자원을 낭비하지 않는 코드
  • 오류 없이 세세한 사항까지 꼼곰하게 처리하는 코드
  • 한 가지를 잘하는 코드

그래드 부치

  • 잘 쓴 문장처럼 읽힌다.
  • 설계자의 의도를 숨기지 않는다.
  • 추측이 아닌 사실에 기반해야 한다.
  • 반드시 필요한 내용만 담아야 한다.

데이브 토마스

  • 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다.
  • 테스트 케이스가 없으면 깨끗한 코드가 아니다.

마이클 페더스

  • 누군가 주의 깊게 짰다는 느낌을 주는 코드
  • 고치려고 살펴봐도 딱히 손 댈 곳이 없는 코드

론 제프리스

  • 모든 테스트를 통과한다.
  • 중복이 없다.
  • 시스템 내 모든 설계 아이디어를 표현한다.
  • 클래스, 메서드, 함수 등을 최대한 줄인다.

결론적으로 중복 줄이기, 한 기능만 수행하기, 제대로 표현하기, 작게 추상화하기 규칙을 따른 것이 깨끗한 코드이다.