Community

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

← Go back
TIL(22.02.28)
#clean_code
2년 전
557


TIL (Today I Learned)

2022.02.28

오늘 읽은 범위

5장. 형식 맞추기

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

  • 적절한 행 길이를 유지하라 (p.96)

  • 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저차원 함수와 세부 내역이 나온다.

    (p.98)

  • 각 행은 수식이나 절을 나타내고, 일련의 행 묶음은 완결된 생각 하나를 표현한다. 생각 사이는 빈 행을 넣어 분리해야 마땅하다. (p.98)

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

  • 같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 연관성을 표현한다. (p.101)

    • 변수는 사용하는 위치에 최대한 가까이 선언한다.

    • 반면, 인스턴스 변수는 클래스 맨 처음에 선언한다. 변수 간에 세로로 거리를 두지 않는다.

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

  • 프로그래머는 명백하게 짧은 행을 선호한다. (p.107)

    • 함수를 호출하는 코드에서 괄호 안 인수는 공백으로 분리했다. 쉽표를 강조해 인수가 별개라는 사실을 보여주기 위해서다.

    • 연산자 운선순위를 강조하기 위해서도 공백을 사용한다.

    • 선언부가 길다면 클래스를 쪼개야 한다는 의미다.

    • 범위로 이뤄진 계층을 표현하기 위해 우리는 코드를 들여쓴다.

  • 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다. (p.113)

    • 스타일은 일관적이고 매끄러워야 한다.

    • 온갖 스타일을 뒤섞어 소스 코드를 필요 이상으로 복잡하게 만드는 실수는 반드시 피한다.

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

  • 이번에 읽은 내용은 코드를 작성하면서, 클린 코드를 만들기 위한 작성 형식에 관한 내용이었다.

  • 지난 내용들을 되짚어 본다면, 이름은 누가 보더라도 알기 쉽고 명료하게, 클래스나 함수의 내부 또한, 마찬가지 였으며 적절한 길이로 작성되어야 하고, 공통적인 개념으로 추상화가 잘 되도록 작성하는 것이 클린 코드를 만들기 위한 길이었다. 오늘 형식을 지키는 방법 또한, 이 길을 따라가다 보면 자연스럽게 바뀔거라고 생각하는 부분이 많았던 것 같다.

  • 사실 작성 형식의 경우, 최근 IDE 프로그램들이 너무 잘 개발되어 있어, 간단한 세팅만 어느 정도 맞춰주더라도, 자연스럽게 보기 좋은 형식으로 코드가 정렬되곤 한다. 하지만, 그것이 어째서 잘 정렬되어 보이는 지는 깊게 생각하지 않았던 것 같다. 또한, 단순히 정렬된 정도만 중요한 것이 아니라, 각 내용별 코드의 길이, 위치나 순서 등을 작성자가 직접 적절히 배치해야 한다는 걸 신경써야 한다는 것도 오늘 내용의 핵심 중 하나였다. 나의 코드가 그동안 이 방식에서 많이 벗어났다고 생각되지 않아서 다행인 한편, 아직도 더 깔끔하고 예쁘게 작성할 수 있는 형식과 요령이 있다는 것에 대해 오늘의 내용 또한 너무 유익한 지식이었다고 생각한다.

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

오늘 내용에선 다행히도 없었다.