반응형
목차
프로그래머는 규칙에 맞게 형식을 깔끔하게 맞춰 코드를 짜야 한다.
팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다.
형식을 맞추는 목적
맨 처음 잡아놓은 코드의 스타일과 가독성은 유지보수 용이성과 확정성에 계속 영향을 미친다.
적절한 행 길이를 유지하라
- 신문 기사처럼 작성하라
소스 파일은 고차원 개념/알고리즘 -> 저차원 함수와 세부 내역 순으로 아래로 내려갈수록 의도를 세세하게 표현 - 개념은 빈 행으로 분리하라
- 세로 밀집도
서로 밀접한 코드 행은 세로로 가까이 놓여야 함 - 수직 거리
변수 선언 - 사용하는 위치에 최대한 가까이 선언
인스턴스 변수 - 클래스의 맨 처음에 선언, 변수 간에 세로로 거리를 두지 않음
종속 함수 - 한 함수에서 호출하는 다른 함수는 세로로 가까이 배치 (함수 -> 호출되는 함수 순서)
개념적 유사성 - 친화도가 높을수록 코드를 가까이 배치 (한 함수가 다른 함수를 호출하는 직접적인 종속성, 변수와 그 변수를 사용하는 함수, 명명법이 똑같거나 기능이 같은 함수) - 세로 순서
함수 호출 종속성은 아래 방향으로 유지, 자연스럽게 소스 코드 모듈이 고차원 -> 저차원으로 기술
가로 형식 맞추기
Max 120자
- 가로 공백과 밀집도
공백을 통해 개념을 분리 (e.g., 할당 연산자, parameter 분리를 위한 ", ")
연산자 우선순위 구분을 위한 공백 추가 - 가로 정렬
정렬이 필요할 정도로 목록이 길다면 클래스를 쪼개는 방법을 고려 - 들여쓰기
scope로 이뤄진 계층을 표현하기 위해 사용
1줄의 if/while/함수도 꼭 {} 괄호를 사용하며 들여쓰기를 사용 - 가짜 범위
빈 while/for문은 다음 행에 세미콜론을 들여써서 작성
팀 규칙
팀에 속해 있다면?
각자의 선호하는 규칙 < 팀 규칙
반응형
'Dev > Books' 카테고리의 다른 글
[CleanCode] 7장. 예외 처리 (0) | 2020.05.16 |
---|---|
[CleanCode] 6장. 객체와 자료 구조 (0) | 2020.05.15 |
[CleanCode] 4장. 주석 (0) | 2020.05.12 |
[CleanCode] 3장. 함수 (0) | 2020.05.06 |
[CleanCode] 2장. 의미있는 이름 (0) | 2020.05.02 |