오늘 읽은 범위
- 5장. 형식 맞추기
기억하고 싶은 내용
- 형식을 맞추는 목적: 코드 형식은 의사소통의 일환이다. (p.96)
- 적절한 행 길이를 유지하라: 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다. (p.97)
- 신문 기사처럼 작성하라
- 이름은 간단하면서도 설명이 가능하게 짓는다.
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다.
- 아래로 내려갈수록 의도를 세세하게 묘사한다.
- 마지막에는 가장 저차원 함수와 세부 내역이 나온다.
- 개념은 빈 행으로 분리하라
- 세로 밀집도: 서로 밀접한 코드 행은 세로로 가까이 놓아야 한다.
- 수직 거리: 서로 밀접한 개념은 세로로 가까이 둬야 한다.
- 변수 선언: 변수는 사용하는 위치에 최대한 가까이 선언한다.
- 인스턴스 변수: 인스턴수 변수는 클래스 맨 처음에 선언한다.
- 종속 함수: 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다.
- 개념적 유사성: 친화도가 높을수록 코드를 가까이 배치한다.
- 세로 순서: 호출되는 함수를 호출하는 함수보다 나중에 배치한다.
- 신문 기사처럼 작성하라
- 가로 형식 맞추기: 120자 정도로 행 길이를 제한한다. (p.107)
- 가로 공백과 밀집도: 가로로는 공백을 사용해 밀접한 개념과 느슨한 개념을 표현한다.
- 가로 정렬: 정렬이 필요할 정도로 목로이 길다면 문제는 목록 길이지 정렬 부족이 아니다.
- 들여쓰기: 들여쓰기 한 파일은 구조가 한눈에 들어온다.
- 팀 규칙 (p.113)
- 팀은 한 가지 규칙에 합의해야 한다. 그리고 모든 팀원은 그 규칙을 따라야 한다. 그래야 소프트웨어가 일관적인 스타일을 보인다.
소감 및 생각
- 적절한 행 길이를 유지하는 것은 리팩터링과도 연관이 있는 것 같다. 클래스와 메서드를 분리해서 작게 유지한다면 자연스럽게 해결되는 부분이 많을 것 같다.
- 메서드를 클래스의 처음 부분에 public 메서드들을 배치하고 그 아래부터는 순차적으로 저차원의 메서드를 배치할지, public 메서드에 대한 저차원의 메서드를 먼저 배치할지에 대한 고민이 많이 있었는데, 이번 내용에서 어느정도 정리가 된 것 같다.
- 클린 코드에서 제시하는 방법이 가장 좋겠지만, 팀에서 정한 규칙이 있다면 그 규칙을 따르는 것이 더 중요하다. 그래야 전체적으로 일관된 스타일의 소프트웨어가 완성이 될 것이다.
새롭게 배운 개념
- 상수를 저차원 함수에서 사용하는 것 보다 상수를 알아야 마땅한 고차원 함수에서 상수를 넘겨주는 방법이 더 좋다고 한다.
- String pageName = getPageNameOrDefault(request, FRONT_PAGE);
'클린 코드' 카테고리의 다른 글
7장. 오류 처리 (0) | 2022.03.04 |
---|---|
6장. 객체와 자료 구조 (0) | 2022.03.01 |
4장. 주석 (0) | 2022.02.25 |
3장. 함수 (0) | 2022.02.23 |
2장. 의미 있는 이름 (0) | 2022.02.20 |
댓글