나는 내가 짠 코드에 자부심을 느끼고 내 이름을 적어두고 싶다. 내 코드를 읽고 고개를 끄덕이게 만들고 싶다. '이거 누가 작업한거에요?' 라는 질문에
'저요!' 라고 당당히 얘기하고 싶다. 설령 그게 질책이라도, 등에서 식은땀이 나도록 까여도 내 코드를 읽고 어드바이스를 준다면, 그리고 그걸로 내가 성장한다면 그걸로 좋다.

그래서 이 책을 읽었다. 잘난척하고 싶어서. 카하하하핳
읽어주길 바란다면 쉽게 읽을 수 있어야 하니까. 술술 읽혀야 하니까.

깨끗한 코드란?

  • '안돌아가는 프로그램보다 돌아가는 쓰레기가 더 좋다. ' 라고 안도하지말자
  • 나중에 손보겠다는 없다. 만들때 잘 만들자.

    르블랑의 법칙, 나중은 결코 오지 않는다.

  • 기한을 맞추는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.
  • 보는 사람에게 즐거움을 선사해야 한다.
  • 나쁜 코드는 나쁜 코드를 '유혹'한다. 나쁜 코드를 고치려면 오히려 더 나쁜 코드를 만들게 된다.

    깨진 창문

    누구도 상관하지 않는다는 인상을 픙기고 사람들이 관심을 끊는다.
    창문이 더 깨져도 상관하지 않으며 마침내는 자발적으로 창문을 깬다.

  • 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다.

    깨끗한 코드는 한가지에 집중하고 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다.

  • 깨끗한 코드는 잘 쓴 문장처럼 읽힌다.

    해결할 문제의 긴장을 명확히 드러내고, 긴장이 쌓이며 클라이막스에 이르렀다가
    명백한 해볍을 제시하며 긴장과 문제를 풀어내야 한다.

  • 반드시 필요한 내용만 담는다.
  • 다른 사람이 고치기 쉽다. 읽기 쉬운 코드와 고치기 쉬운 코드는 엄연히 다르다.

    테스트 케이스가 없는 코드는 깨끗한 코드가 아니다.

  • 깨끗한 코드는 주의 깊게 짰다는 느낌을 주고 고치려고 살펴봐도 딱히 손 댈곳이 없다.

    이미 작성자가 모든 사항을 고려했으므로, 고칠 궁리를 하다보면 언제나 제자리로 돌아온다.

  • 초반부터 간단한 추상화를 고려한다.
  • 중복 줄이기
  • 표현력 높이기
  • 읽으면서 짐작한 대로 돌아가는 코드

코드를 깨끗하게 짜고 나서..

시간이 지나도 언제나 깨끗하게 유지해야한다. 코드의 퇴보를 막아야한다.

  • 채크아웃할 때보다 좀 더 깨끗한 코드를 채크인 한다. (지속적인 개선)

    보이스카우트 규칙
    캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라

+ Recent posts