본문 바로가기

Book/Clean Code3

제 3장 함수 #작게_만들어라 - 80년대에는 한 함수가 한 화면을 넘어가면 안된다고 했다 - 당시 VT100 화면은 가로 80 세로 24줄이었는데 편집기가 4줄을 관리용으로 사용했기 때문 - 얼마나 짧아야하는가? - 20줄도 길다 - if/else/while 블록은 한줄 -> 대게 여기서 함수 호출 - 즉 중첩이 생길만큼 함수가 커선 안된다는 의미 (들여쓰기는 1,2에서 그치도록) "함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다" #한가지만_해라 - 한가지의 기준은? - 추상화 수준 : 지정된 함수 이름 아래 추상화 수준이 하나인 단계만 수행하면 작업 갯수는 하나인 것 - 의미 있는 이름으로 다른 함수를 추출할 수 있다면 여러 작업 - 여러 섹션으로 나눈다는건 여러 작업을 한.. 2021. 5. 16.
제 2장 의미 있는 이름 #의도를_분명히 - 고려 사항 - 존재 이유는? 수행 기능은? 사용 방법은? - 주석이 필요하다는건 의도 표현이 불충분했다는 것 #그릇된_정보_지양 - 다르게 해석할 여지가 많은 함축어나 단어는 쓰지 말 것 - 서로 비슷해서 헷갈릴 이름을 사용하지 않게 #의미있는_구분 - 연속된 숫자나 불용어 추가하지 말 것 - a1, a2, ..., aN - a, an, the, Info, Data, Manager, Process - 구분이 안되는 예시 - NameString / Name - moneyMount / money - accountData / account - theMessage / message #발음하기_쉽게, 검색하기 쉽게 - 마음대로 축약해서 넣지 말 것 - 여러 곳에서 사용한다면 검색하기 쉽게 상.. 2021. 4. 11.
제 1장 깨끗한 코드 #코드의_가치 - 코드를 자동으로 짜주는 기대가 오면 프로그래머는 필요가 없나? - 어느 수준에선 코드없이 요구사항을 상세히 표현하는건 불가능. 그럼 추상화도 불가능하게됨 - 앞으로 언어에서 추상화 수준은 점차 높아질 것 - 특정 분야에 적합한 domain-specific language 가 많아질 것으로 예상 (DSL) - 코드란 요구사항을 표현하는 언어 #르블랑의_법칙 - 급하게 짠 코드를 나중에 손보겠다? - 안돌아가는 프로그램보다 돌아가는 쓰레기가 낫다? - 나중은 결코 오지 얂는다. #깨끗한_코드? - 기한을 맞추고 빨리가는 유일한 방법은 코드를 최대한 깨끗하게 유지하는 습관뿐 - 깨끗한 코드를 작성할 땐 '청결'이라는 감각으로 기법을 적용하는 절제와 규율이 필요 == 코드 감각 - 비야네 스트.. 2021. 4. 3.