0. 추천사 + 들어가면서

책에서 기억하고 싶은 내용

  • 소프트웨어는 80% 이상이 유지보수다.
  • 5S 철학
    1. 정리 - 무엇이 어디에 있는지 알아야 한다.
    2. 정돈 - 코드는 누구나 예상하는 위치에 있어야 한다.
    3. 청소 - 작업공간에서 배선이나 기름이나 부스러기 쓰레기는 치운다.
    4. 청결/표준화 - 작업 공간을 청소하는 방식이 그룹에 동의한다.
    5. 생활화 - 규율, 관례를 따르고, 자기 작품을 자주 돌아보고 기꺼이변경
  • 읽기 좋은 코드는 돌아가는 코드만큼이나 중요하다.
  • 작은것에도 충실한 사람이 큰 것에도 충실하다.
  • 호미로 막을 일을 가래로 막지 마라.
  • 지속적인 개선과 보살핌은 결코 끝나지 않는다. 모든 설계 행위를 작은 규모로 이뤄지는 국부적인 수리 행위로 보았다.
  • 품직은 하늘에서 뚝 떨어진 위대한 방법론이 아니라 사심 없이 기울이는 무수한 관심에서 얻어진다.
  • 꺠끗한 코드를 작성하는 방법은 배우기 어려우며 고생을 해야한다.
  • 문제가 있는 코드를 문제가 더 적은 코드로 바꾸는 연습

1장. 깨끗한 코드

책에서 기억하고 싶은 내용

  • 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. 이렇게 명시한 결과가 바로 코드다.
  • 나쁜코드는 회사를 망하게 할 수 있으며, 나중에 고친다고 해도 나중은 결코 오지 않는다.
  • 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다.
  • 기한을 맞추는 유일한 방법은, 언제나 코드를 최대한 꺠끗하게 유지하는 습관이다.
  • 깨끗한 코드를 작성하려면 청결이라는 힘겹게 습득한 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다.

  • 비아네 스트롭스트롭: 우아하고 효율적인 코드를 좋아한다. 논리가 간단해야 하며 의존성을 최대한 줄여야 한다. 깨끗한 코드는 한가지를 제대로 한다.
  • 그레디 부치: 깨끗한 코드는 단순하고 집적적이다.
  • 데이브 토마스: 깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다. 테스트 케이스가 없는 코드는 꺠끗한 코드가 아니다.
  • 마이클 패더스: 꺠끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다.
  • 론 제프리스: 모든 테스트를 통과하며, 중복이 없고, 시스템내 모든 설계 아이디어를 포함하며, 클래스 메서드 함수등을 최대한 줄인다.
  • 워드 커닝햄: 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다.

오브젝트 멘토 진영이 생각하는 깨끗한 코드 설명

  • 새코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다
  • 보이스카우트 규칙 적용: 체크아웃 할 때보다 좀 더 꺠끗한 코드를 체크인 한다면 코드는 절대 나빠지지 않는다.

‘#노개북 #노마드코더 #개발자북클럽