Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 2.82 KB

File metadata and controls

68 lines (53 loc) · 2.82 KB

Chapter 1. Clean Code

Table of Contents

코드가 존재하리라

  • 코드는 '요구사항을 표현하는 언어'라는 사실을 명심하자.

나쁜 코드

  • 나중에 고치겠다는 생각을 가져서는 안된다. 나중은 결코 오지 않는다.

LeBlanc's Law : "Later equals never"

대가

  • 개발 속도를 크게 떨어트린다.

    • 나쁜 코드를 고치기 위해 또다른 얽히고설킨 나쁜 코드가 많이진다.
    • 쓰레기 더미가 점점 커지게 된다.
  • 팀의 생산성을 떨어트린다.

    • 시스템 설계 의도에 맞는 변경과 반하는 변경의 구분이 힘든 경우, 또다른 나쁜 코드를 만들어낸다.

태도

  • 좋은 코드를 사수하는 일은 프로그래머들의 책임이다.
  • 나쁜 코드를 양산하면 엉망진창인 상태 때문에 개발 속도가 늦춰진다.
  • 개발 속도를 높이는 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

Clean Code란

  • Clean code를 작성하기 위해서는 '청결'이라는 코드 감각을 활용하여 기법들을 적용하는 절제와 규율이 필요하다.
  • 보이스카웃 규칙
    • 캠프장은 처옴 왔을 때보다 더 깨끗하게 해놓고 떠나라.
    • 체크아웃할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않 는다.
  • Bjarne Stroustrup
    • 우아한 코드 : Clean code는 보는 사람에게 즐거움을 선사해야한다.
    • 의존성을 최대한 줄여야 유지보수가 쉬워진다.
    • 오류는 명백한 전략에 의거해 철저히 처리한다.
      • Clean code는 세세한 사항까지 꼼꼼하게 처리하는 코드이다.
        • e.g. Memory leak, Race condition, Naming
    • Clean code는 한 가지에 집중한다.
  • Grady Booch
    • Clean code는 가독성이 좋아야한다.
      • 잘 쓴 문장처럼 읽혀야한다.
    • 코드는 반드시 필요한 내용만 담아야한다.
  • Dave Thomas
    • Clean code는 문학적이어야한다. (가독성이 좋아야한다.)
    • Clean code는 다른 사람이 고치기 쉬워야한다.
      • 읽기 쉬운 코드와 고치기 쉬운 코드는 다르다.
    • Clean code는 테스트 케이스가 존재해야한다.
  • Michael Feathers
    • Clean code는 주의 깊게 작성한 코드이다.
      • 깔끔하고 단정하게 정리되어잇으며 세세한 사항까지 신경쓴 코드이다.
  • Ron Jeffries
    • 중복을 피해라.
    • 한 가지의 기능만 수행한다.
    • 제대로 표현하라.
    • 작게 추상화하라.
  • Ward Cunningham
    • Clean code는 읽으면서 짐작대로 돌아가며 명백해야한다.
      • 모듈을 읽으면 다음의 상황이 보인다.