클린 코드 Assignment #08 [5장. 형식 맞추기]

Ellie·2022년 5월 2일
0

클린코드

목록 보기
7/11

TIL (Today I Learned)

2022.05.02

오늘 읽은 범위

5장. 형식 맞추기 (96p ~ 116p)

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

  • 형식을 맞추는 이유는?

    • 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. (...중략) 그런데 오늘 구현한 코드의 가독성으 앞으로 바뀔 코드의 품질에 지대한 영향을 끼친다.
      • 형식을 맞추는 이유는 개발자들간의 의사소통을 위한 것이다. 나 혼자 하나의 제품을 개발하는 것이 아니기 때문이다. 오늘 구현한 코드가 앞으로 제품의 품질에 영원히 영향을 끼치기 때문이다.
  • 원활한 소통을 장려하는 코드 형식은?

    1. 적절한 행 길이를 유지하라.

    ... 이것이 우리에게 무엇을 말하느냐고? 500줄을 넘지 않고 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다는 사실이다.(97p)

    1. 신문 기사처럼 작성하라

    최상단에 기사를 몇 마디로 요약하는 표제가 나온다. 첫 문단은 전체 기사 내용을 요약하며, 쭉 읽으며 내려가면 세부사항이 나온다. (...중략) 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명하며, 아래로 내려갈수록 의도를 세세하게 묘사한다.

    1. 개념은 빈 행으로 분리하라

    일련의 행 묶음은 완결된 생각 하나를 표현한다. 생각 사이는 빈 행을 넣어 분리해야 마땅하다.

    • 세로 밀집도
      • 줄바꿈이 개념을 분리한다면 세로 밀집도는 연관성을 의미한다. 즉, 서로 밀접한 코드 행은 가까이 놓여야 한다는 뜻이다.
    1. 변수 선언

    변수는 사용하는 위치에 최대한 가까이 선언한다. 우리가 만든 함수는 매우 짧으므로 자역 변수는 각 함수 맨 처음에 선언한다.

    1. 종속 함수

    한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.

    • 헉 놀랐다. 나는 호출되는 함수를 호출하는 함수 앞에 적어야 더 가독성이 높을 거라고 생각했는데... 이건 내 주관적인 생각이었나보다. 앞으로는 호출하는 함수를 앞에 적을 것!
    1. 가로 형식 맞추기

    사실은 80자 이후부터 행 수는 급격하게 감소한다. 100자나 120자에 달해도 나쁘지 않다. 개인적으로는 120자 정도로 행 길이를 제한한다.

    다른 이야기도 많은데 가로 공백이나 들여쓰기 같은 부분은 eslint나 prettier에서 자동 적용되고 있는 이야기도 많아서 따로 적진 않았다.

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

오늘 잘 이해되지 않았던 내용은 없었다. 다만 종속 함수 부분이라던가 세로 최대 200행 정도가 적당하다는 것 등등 새로 알게 된 내용이 많아 굉장히 흥미로웠다. ㅎㅎ 요즘에는 eslint와 prettier 등 확장 프로그램이 워낙 잘 되어 있어서 프로그래머들이 하나하나 세세히 신경쓰지는 않아도 되는 시대라서 얼마나 다행인지 모른다... 이런 게 없는 옛날에는 대체 어떻게 하나하나 신경쓰면서 했지...


클린코드는 자바 기반으로만 설명되어 있다고 생각했는데, 자바스크립트를 예시로 든 자료를 보게 되었다!

클린코드 자바스크립트 예시

아쉽게 이번 장인 형식 맞추기 챕터는 없어서 이 포스트에 반영은 못했다. 완벽하게 모든 장의 자바스크립트 예시가 들어있는 것은 아닌 것 같지만 그 퀄리티에 정말 놀랐다. 정말 예시하나하나가 주옥같다.....🫢 책을 읽으면서 정말 큰 도움이 될 것 같다.

profile
정말로 아는 것인지 항상 의심하기

0개의 댓글