클린 코드 - 1장 깨끗한 코드
범위
- 1장 깨끗한 코드
책에서 기억하고 싶은 내용
코드가 존재하리라
- 코드는 요구사항을 표현하는 언어라는 사실을 명심한다.
- 그러므로 코드도 항상 존재하리라.
나쁜 코드
나쁜 코드로 치르는 대가
- 나쁜 코드는 개발 속도를 크게 떨어트린다.
- 나쁜 코드가 쌓일 수록 팀의 생산성은 떨어진다. 그러다가 마침내 0에 근접한다.
- 깨끗한 코드란?
- 비야네 스트롭스트룹
- 논리가 간단해야 버그가 숨어들지 못한다.
- 의존성을 최대한 줄여야 유지보수가 쉬워진다.
- 오류는 명백한 전략에 의거해 철저히 처리한다.
- 성능을 최적으로 유지해야 사람들이 원칙없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다.
- 한 가지를 제대로 한다.
- 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다.- 깨끗한 코드란 한 가지를 잘 한다.
- 깨끗한 코드는 한 가지에 ‘집중’한다.
- 그래디 부치
- 단순하고 직접적이다.
- 잘 쓴 문장처럼 읽한다.
- 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다.
- 가독성: 깨끗한 코드는 잘 쓴 문장처럼 읽혀야 한다.
- 코드는 추측이 아니라 사실에 기반해야 한다.
- 반드시 필요한 내용만 담아야 한다.
- 코드를 읽는 사람에게 프로그래머가 단호하다는 인상을 줘야 한다.
- ‘큰’ 데이브 토마스
- 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다.
- 단위 테스트 케이스와 인수 테스트 케이스가 존재한다.
- 의미 있는 이름이 붙는다.
- 특정 목적을 달성하는 방법은 (여러가지가 아니라) 하나만 제공한다.
- 의존성은 최소이며 각 의존성을 명확히 정의한다.
- 깨끗한 코드란 다른 사람이 고치기 쉽니다.
- 코드가 ‘문학적’이어야 한다.
- 요점은 인간이 읽기 좋은 코드를 작성하라는 말이다.
- 마이클 페더스
- 언제나 누군가 주의 깊게 짰다는 느낌을 준다. 고치려고 살펴봐도 딱히 손 댈 곳이 없다.
- 론 제프리스
- 워드 커닝햄
- 비야네 스트롭스트룹
우리들 생각
우리는 저자다
보이스카우트 규칙
- 잘 짠 코드가 전부는 아니다. 시간이 지나도 언제나 깨끗하게 유지해야 한다.
- 캠프장은 처음 왔을 때보다 더 깨끗하게 해 놓고 떠나라.
- 체크아웃할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않는다.
- 지속적인 개선이야말로 전문가 정신의 본질
프리컬과 원칙
결론
참조문헌
소감
- 깨끗한 코드에 대한 전문가들의 생각은 공통점이 많고, 나도 그렇게 생각하는 부분이 많다. 단지, “어떻게”해야 하는지 막막하다.
- 이 책을 읽으면서 “어떻게” 깨끗한 코드를 지향할 수 있는가를 고민해보고, 또한 깨끗한 코드를 위한 정신 무장을 해야 할 거 같다.
- 나쁜 코드 부분은 보면서 다 경험한 이야기들이라 쓴 웃음이 나왔다.
- 1장인데 인상적였던 부분을 적다보니, 너무 많이 적었다. 지치지 않으려면 더 요약해야 겠다.
This post is licensed under CC BY 4.0 by the author.