클린코드 2022-01-30의 기록
clean-code nomad-coders
DAY10
- 오늘 읽은 범위 : 형식 맞추기
책에서 기억하고 싶은 내용을 써보세요
- 코드에서 형식을 맟춰야하는 이유
- 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높다. 다시말해, 오늘 구현한 코드의 가독성이 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다
- 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다.
- 일반적으로 큰 파일보다 작은파일이 이해하기 쉬우므로 적절한 행길이-200줄미만-으로 작성하라
- 소스파일을 신문기사처럼 작성하라.-이름은 간단하면서도 설명이 가능하게, 첫부분은 고차원개념과 알고리즘을 설명-여기서 설명이란 코드를 말한다-하고 아래로 내려갈수록 의도를 세세하게 묘사한다. 그리고 마지막에는 저차원함수와 세부내역이 나온다.
- 서로 밀접한 개념은 세로로 가까이 둬야한다. 두 개념이 다른 파일에 속한다면 규칙이 통하지 않는다. 하지만 타당한 근거가 없다면 서로 밀접한 개념은 한 파일에 속해야 마땅하다.
- 변수는 사용하는 위치에 최대한 가까이 선언한다. 우리가 만들 함수들은 매우 짧으므로 지역변수는 각 함수 가장 처음에 선언한다.
- 클래스 내부적으로 사용하는 인스턴스 변수는 클래스 가장 윗부분에-논쟁이 분분하지만 각 언어별 잘 알려진 위치에- 선언한다.
- 한 함수가 다른함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 가능하다면 호출하는 함수를 호출되는 함수보다 먼저-위에- 배치한다. 그렇게 하면 물흐르듯이 자연스럽게 코드가 읽히게 된다
- 개념적인 친화도가 높은-족속적인 함수호출이라던지, 변수와 그 변수를 사용하는 함수 등-코드는 가까이 배치한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 클린코드란 책은 참 책을 써 내려가는 것조차 본인이 이야기한 것들을 지켜나가는 책인것 같습니다. 앞서 설명했던 의미 있는 이름, 함수, 주석에 대한 내용을 자신의 다음 챕터에서도 사용하고 그것이 물흐르듯 내려와 지금 읽는 챕터인 형식맞추기에서 또한 앞서 말했던 부분들을 모두 인용하여 설명을 하니 모든 퍼즐이 딱딱 맞춰지는 기분이 들었습니다.
- 이번장에서는 소스코드를 어떻게 관리할건지 개념적인 부분을 살펴보았습니다. 소스코드를 관리하는데 있어 굉장히 어려움을 겪는 경우가 많은데 개념적으로만 단순히 알았던 부분을 정립을 하는 기분이 들어 매우 신나서 읽게 되었습니다. 많은 부분 공감을 하는 부분이 있었으며 지금까지 읽었던 바로는 가장 중요한 부분은 개념적으로 유사한 코드는 가까이 두라는 부분인 것 같습니다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요
- p103에 나오는 가위규칙이란 무엇인가?1
세줄 요약
- 코드형식을 맞추기 위한 간단한 규칙을 정하고 그 규칙을 착실히 따르자-전문가가 짰다는 인상을 주는 코드를 짜자!-
- 소스코드는 짧게 유지해라!
- 코드는 위에서 고차원 추상화부터 점점 아래로 저차원 추상화를 해 나가자.-비슷한 개념은 가까이! 세세한 개념은 마지막에!-