글 작성자: 망고좋아
반응형

📖 Clean Code - 깨끗한 코드

  • 추천사 ~ 1장. 깨끗한 코드

 

📝 기억하고 싶은 내용

  • 코드는 요구사항을 표현하는 언어 (p.3)
  • 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙을 몰랐다. 나중은 결코 오지 않는다. (p.4)
  • 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p.7)
  • 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다. (p.10)
  • 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한가지에 ‘집중’한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다. (p.10)
  • 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다. (p.10)
  • 테스트 케이스가 없는 코드는 깨끗한 코드가 아니다. 아무리 코드가 우아해도, 아무리 가독성이 높아도, 테스트 케이스가 없으면 깨끗하지 않다. (p.12)
  • 간단한 코드는
    • 모든 테스트를 통과한다.
    • 중복이 없다.
    • 시스템 내 모든 설계 아이디어를 표현한다.
    • 클래스, 메서드, 함수 등을 최대한 줄인다. (p.13)

 

✍️ 용어 정리

  • 휴리스틱 : 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편 추론의 방법

 

💡 오늘 깨달은 것

  • 글을 읽으면서 뼈 때리는 문장들이 몇 있었다. 특히 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로 합리화했던 경험이 있었는데.. 누가 내 마음까지 읽었을까.. ㅋㅋㅋ
  • 책에 테스트 케이스가 없으면 깨끗하지 않다는 말을 하였는데, 이 부분은 직접 경험을 하여 공감이 된다. 다른 사람의 코드를 읽을 때 테스트 코드를 참고하여 보면 이해도가 높아진다.

 

🏷 요약

  • 깨끗한 코드는 한 가지 일만 수행하고, 추상화를 통해 의도를 드러내고, 테스트 코드의 작성

 

📌 참고

반응형

'프로그래밍 > Clean Code' 카테고리의 다른 글

[Clean Code] 함수  (0) 2022.05.01
[Clean Code] 의미 있는 이름  (0) 2022.04.29
[Clean Code] 클린 코드 시작  (0) 2022.04.22