Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
Assignment 2_TIL
#clean_code
2년 전
621


TIL (Today I Learned)

2022.02.19

오늘 읽은 범위

-> 추천사 ~ 1장. 깨끗한 코드

책에서 기억하고 싶은 내용을 써보세요.

  • "사소한 곳에서 발휘하는 정직은 사소하지 않다" (p. xxii)

  • 세세함에 주의를 기울이는 태도는 전문가에게 더더욱 필수적인 자질이 되었다. 첫째, 큰 실무에서 실력을 쌓고 신뢰를 얻으려는 전문가는 먼저 작은 실무부터 실력을 쌓고 신뢰를 얻어야하는 탓이다. 둘째, 꼭 맞게 닫히지 않는 문이나 비뚫어진 바닥 타일이나 지저분한 책상 등 아주 사소한 것들이 전체의 매력을 깎아먹기 때문이다. 깨끗한 코드가 중요한 이유는 바로 여기에 있다. (p. xxiii)

  • 작은 것에도 충실한 사람이 큰 것에도 충실하다 (p. xxv)

  • 오늘 할 수 있는 일을 내일로 미루지 마라 (p. xxv)

  • 아키텍처도, 깨끗한 코드도, 완벽을 주장하지는 않는다. 단지 최선을 다해 정직하라 요구할 뿐이다. 오류는 인간의 본성이고 용서는 신의 본성이다. (p. xxviii)

  • 난관에 부딪힐 때 옳은 문 뒤에 있으려면 어떻게 해야할까? 답은 장인 정신이다. 장인 정신을 익히는 과정은 두 단계로 나뉜다. 바로 이론과 실전이다. 첫째, 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다. 둘째, 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다. (p. xxxii)

  • 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심한다. (p. 3)

  • 나중은 결코 오지 않는다. (p. 4)

  • 비유를 하나 들겠다. 자신이 의사라 가정하자. 어느 환자가 수술 전에 손을 씻지 말라고 요구한다. 시간이 너무 걸리니까. 확실히 환자는 상사다. 하지만 의사는 단호하게 거부한다. 왜? 질병과 감염의 위험은 환자보다 의사가 더 잘 아니까. 환자 말을 그대로 따르는 행동은 전문가답지 못하니까. 프로그래머도 마찬가지다. 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. (p. 7)

  • 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p. 7)

  • 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다. (p. 10)

  • 깨끗한 코드는 한 가지에 '집중'한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다. (p. 10)

  • 깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다. 고치려고 살펴봐도 딱히 손 댈 곳이 없다. 작성자가 이미 모든 사항을 고려했으므로. 고칠 궁리를 하다보면 언제나 제자리로 돌아온다. (p. 12)

  • 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화하라. (p. 14)

  • 언어를 단순하게 보이도록 만드는 책임이 우리에게 있다는 뜻이다. (p. 15)

  • 캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라. (p. 19)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 이 책의 대부분은 깨끗한 코드를 만들기 위한 여러 방법들을 소개할 것이다. 하지만 본격적인 내용에 앞서 단순히 방법론적인 것보다 프로그래머의 태도가 참 중요하다는 생각이 들었다.

  • 나는 얼마나 사소한 것까지 중요하게 챙길 수 있을까.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 린 Lean

  • 휴리스틱 heuristic

  • 메서드 추출 Extract Method 리팩터링 기법