[Clean Code] 📂. Assignment #08. 5장. 형식 맞추기
TIL (Today I Learned)
2022.02.27(일) ~ 2022.03.01(화)
오늘 읽은 범위
- 5장. 형식 맞추기 (p.116)
책에서 기억하고 싶은 내용을 써보세요.
코드 형식은 의사소통
의 일환으로 중요하다.
코드가 계속 바뀌어도 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성
과 확장성
에 계속 영향
을 미친다.
- 신문 기사처럼 작성
소스 코드 윗 부분 : 고차원 개념, 알고리즘 설명
소스 코드 아래 부분 : 저차원 개념, 세부 내역
- 개행
행
은수식
이나절
을 나타내고,행 묶음
은완결된 생각 하나
를 표현
- 세로 밀집도
서로 밀접한(
연관된
) 코드 행은세로로 밀접
하게 위치
단, 서로 다른 파일에 속한다면 제외
사용하는 위치
에 최대한 가깝게변수 선언
인스턴스 변수
는 클래스 맨처음
에 선언단, C++에서는 클래스
마지막
에 선언한다. (가위 규칙
, scissors rule)
잘 알려진 위치에 변수를모은다
는 것이 중요!
호출하는
함수를호출되는
함수보다먼저
세로 가까이
배치
개념적 친화도
가 높을수록 코드를 가까이 배치
- 공백
할당 연산자 강조
연산자 우선순위 강조
- 가로 정렬
지양
- 들여쓰기
계층에서 코드가 자리잡은 수준에 비례
팀은 한 가지 규칙
에 합의
해야하며, 개인이 맘대로 짜는 코드는 피해야한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
코드의 형식은 팀원끼리 합의하에 정하느 규칙인데 이것을 융통성 없이 맹목적으로 따르면 안된다고 첫 부분에 설명하는 점이 이상했다. 합의하에 정해진 규칙은 맹목적으로 지키는 것이 질서를 유지하는데에 중요하다고 생각한다.
C++에서 가로 정렬을 잘 사용하는데 이것을 지양하라고 하는데, 코드를 읽는 과정에서 가로로 정렬되어 선언된 멤버 변수가 더 이해를 빠르게 하는 경우가 있다. 변수의 타입을 몰라도 이름만으로 무엇을 뜻하는지, 어떤 타입인지 알 수 있는 경우에는 가로 정렬을 사용하는 것도 좋은 것 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 코드의 형식을 융통성 없이 맹목적으로 따르면 안되는 이유를 이해할 수 없다.
댓글남기기