본문 바로가기
Book/Clean Code

제 1장 깨끗한 코드

by 라바킴 2021. 4. 3.

#코드의_가치

- 코드를 자동으로 짜주는 기대가 오면 프로그래머는 필요가 없나?

- 어느 수준에선 코드없이 요구사항을 상세히 표현하는건 불가능. 그럼 추상화도 불가능하게됨

  - 앞으로 언어에서 추상화 수준은 점차 높아질 것

  - 특정 분야에 적합한 domain-specific language 가 많아질 것으로 예상 (DSL)

- 코드란 요구사항을 표현하는 언어

 

#르블랑의_법칙

- 급하게 짠 코드를 나중에 손보겠다?

- 안돌아가는 프로그램보다 돌아가는 쓰레기가 낫다?

- 나중은 결코 오지 얂는다.

 

#깨끗한_코드?

- 기한을 맞추고 빨리가는 유일한 방법은 코드를 최대한 깨끗하게 유지하는 습관뿐

- 깨끗한 코드를 작성할 땐 '청결'이라는 감각으로 기법을 적용하는 절제와 규율이 필요 == 코드 감각

- 비야네 스트롭스트룹 (C++ 창시자)

  - 세세한 사항까지 꼼꼼하게 처리

  - 효율과 오류처리 (cpu 낭비, 메모리 누수, race condition, 일관성 없는 명명법)

- 그래디 부치

  - 가독성 : 명쾌한 추상화

  - 추측아닌 사실에 기반하여 반드시 필요한 내용만 담아야 함 (단호박)

- 빅 데이브 토마스

  - 문학적 : 다른 사람이 고치기 쉬워야

- 마이클 페더스

  - 주의 깊게 작성한 코드 : 깔끔+단정+세심+꼼꼼

- 론 제프리스

  - 중복 줄이기, 표현력 높이기(한 기능에 집중), 초반부터 간단한 추상화 고려(작게작게)

- 워드 커닝햄 (wiki 창시자)

  - 짐작했던 기능을 그대로 수행한다면 깨끗한 코드 == 놀랄일이 없어야

  - 문제를 풀기위한 언어처럼 보인다면 아름다운 코드

 

#코드읽기:코드짜기=10:1 

- 새 코드를 짜면서도 기존 코드를 계속 읽어야함

- 읽기 쉬운 코드라는건 매우 중요

 

#보이스카우트_규칙

- 캠핑장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라

 

 

'Book > Clean Code' 카테고리의 다른 글

제 3장 함수  (0) 2021.05.16
제 2장 의미 있는 이름  (0) 2021.04.11

댓글