seunghyun Note

클린코드 챌린지 DAY6 (2024.06.29) 본문

스터디/클린코드 챌린지

클린코드 챌린지 DAY6 (2024.06.29)

승숭슝현 2024. 6. 29. 21:49

TIL (Today I Learned)

2024.06.29

✔️ range

5장 형식 맞추기

✔️ memory

1. 코드 형식의 목적

의사소통의 수단: 코드 형식은 코드 작성자와 읽는 사람 간의 의사소통 수단. 일관된 형식은 코드를 더 쉽게 이해할 수 있음

2. 적절한 행 길이와 구조

작은 파일이 더 이해하기 쉽다: 큰 파일보다 작은 파일이 읽고 이해하기 쉽다.

신문 기사처럼 작성:
이름은 간단하면서도 설명 가능하게 짓는다.
소스 파일의 처음 부분은 고차원 개념과 알고리즘을 설명하고, 아래로 내려갈수록 세세한 의도를 묘사
파일의 마지막 부분에는 저차원 함수와 세부 내역이 나온다.

개념을 빈 행으로 분리:
각 행은 완결된 생각 하나를 표현하며, 생각 사이는 빈 행으로 분리
빈 행은 새로운 개념의 시작을 알리는 시각적 단서

3. 세로 형식 맞추기

세로 밀집도: 줄바꿈이 개념을 분리한다면, 세로 밀집도는 연관성을 의미. 밀접한 코드 행은 세로로 가까이 배치

수직 거리:
밀접한 개념은 세로로 가까이 둔다.
밀접한 개념은 한 파일에 속해야 하며, 파일 내에서 세로 거리로 연관성을 표현
연관성이 깊은 개념이 멀리 떨어져 있으면 코드를 읽는 사람이 여기저기 뒤지게 된다.

변수 선언:
변수는 사용하는 위치에 최대한 가까이 선언
지역 변수는 함수 맨 처음, 인스턴스 변수는 클래스 맨 처음에 선언
종속 함수는 호출하는 함수를 호출되는 함수보다 먼저 배치

개념적 유사성:
친화도가 높은 코드는 가까이 배치
함수가 다른 함수를 호출하거나, 변수를 사용하는 함수, 비슷한 동작을 수행하는 함수들은 가까이 둔다.

세로 순서:
함수 호출 종속성은 아래 방향으로 유지. 호출되는 함수를 호출하는 함수보다 나중에 배치

4. 가로 형식 맞추기

짧은 행 선호: 프로그래머는 짧은 행을 선호

가로 공백과 밀집도:
할당 연산자는 앞뒤에 공백을 두어 명확히 구분
함수 이름과 괄호 사이에는 공백을 두지 않으며, 괄호 안의 인수는 공백으로 분리해 별개임을 나타남
가로 정렬: 선언문과 할당문을 별도로 정렬하지 않습니다. 목록이 길다면 목록 길이가 문제

들여쓰기:
범위로 이루어진 계층을 표현하기 위해 코드를 들여 쓴다.
계층에서 코드가 자리 잡은 수준에 비례해 들여쓴다.
들여쓰기 무시 금지: 간단한 if 문, 짧은 while 문, 짧은 함수에서도 들여쓰기 규칙을 반드시 지킨다.
가짜 범위 피하기: 빈 while 문이나 for 문을 피한다.

5. 팀 규칙

팀 규칙 준수: 팀에 속한다면 팀 규칙을 최우선으로 준수
일관성 있는 스타일: 좋은 소프트웨어 시스템은 읽기 쉬운 문서로 구성됩니다. 일관된 스타일은 코드의 신뢰성을 높인다.

✔️ learn

형식을 맞춘다는 것에 초점을 둔 적이 없는데 고려해야할 사항이 생긴 거 같다.

✔️ impression

728x90