개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.28
오늘 읽은 범위
5장. 형식 맞추기
책에서 기억하고 싶은 내용을 써보세요.
적절한 행 길이를 유지하라 (p.96)
소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저차원 함수와 세부 내역이 나온다.
(p.98)
각 행은 수식이나 절을 나타내고, 일련의 행 묶음은 완결된 생각 하나를 표현한다. 생각 사이는 빈 행을 넣어 분리해야 마땅하다. (p.98)
줄바꿈이 개념을 분리한다면 세로 밀집도는 연관성을 의미한다. 즉, 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다는 뜻이다. (p.100)
같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 연관성을 표현한다. (p.101)
변수는 사용하는 위치에 최대한 가까이 선언한다.
반면, 인스턴스 변수는 클래스 맨 처음에 선언한다. 변수 간에 세로로 거리를 두지 않는다.
종속 함수. 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
프로그래머는 명백하게 짧은 행을 선호한다. (p.107)
함수를 호출하는 코드에서 괄호 안 인수는 공백으로 분리했다. 쉽표를 강조해 인수가 별개라는 사실을 보여주기 위해서다.
연산자 운선순위를 강조하기 위해서도 공백을 사용한다.
선언부가 길다면 클래스를 쪼개야 한다는 의미다.
범위로 이뤄진 계층을 표현하기 위해 우리는 코드를 들여쓴다.
팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다. (p.113)
스타일은 일관적이고 매끄러워야 한다.
온갖 스타일을 뒤섞어 소스 코드를 필요 이상으로 복잡하게 만드는 실수는 반드시 피한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이번에 읽은 내용은 코드를 작성하면서, 클린 코드를 만들기 위한 작성 형식에 관한 내용이었다.
지난 내용들을 되짚어 본다면, 이름은 누가 보더라도 알기 쉽고 명료하게, 클래스나 함수의 내부 또한, 마찬가지 였으며 적절한 길이로 작성되어야 하고, 공통적인 개념으로 추상화가 잘 되도록 작성하는 것이 클린 코드를 만들기 위한 길이었다. 오늘 형식을 지키는 방법 또한, 이 길을 따라가다 보면 자연스럽게 바뀔거라고 생각하는 부분이 많았던 것 같다.
사실 작성 형식의 경우, 최근 IDE 프로그램들이 너무 잘 개발되어 있어, 간단한 세팅만 어느 정도 맞춰주더라도, 자연스럽게 보기 좋은 형식으로 코드가 정렬되곤 한다. 하지만, 그것이 어째서 잘 정렬되어 보이는 지는 깊게 생각하지 않았던 것 같다. 또한, 단순히 정렬된 정도만 중요한 것이 아니라, 각 내용별 코드의 길이, 위치나 순서 등을 작성자가 직접 적절히 배치해야 한다는 걸 신경써야 한다는 것도 오늘 내용의 핵심 중 하나였다. 나의 코드가 그동안 이 방식에서 많이 벗어났다고 생각되지 않아서 다행인 한편, 아직도 더 깔끔하고 예쁘게 작성할 수 있는 형식과 요령이 있다는 것에 대해 오늘의 내용 또한 너무 유익한 지식이었다고 생각한다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
오늘 내용에선 다행히도 없었다.