PE Notes · SW
클린 코드
의도가 드러나는 이름과 작은 함수·예외 처리·주석 원칙을 정리하고, 포맷·순환 복잡도·중복률과 리뷰·페어·완료 정의로 문화를 고정합니다.
코드는 쓰는 시간보다 읽는 시간이 깁니다. 의도가 이름에 없고 함수가 여러 일을 하면, 다음 수정이 사고로 이어집니다. 는 읽기 쉽게 짜서 유지보수와 생산성을 사는 규율입니다. 도구 설정이 아니라 팀의 기본 언어입니다.
목적과 이름
목적은 명확한 의도, 중복 제거, 단순함입니다. d 대신 elapsedDays, flag 대신 isActive입니다. 약어를 피고 발음·검색이 되게 씁니다. 한 개념에 fetch·retrieve·get을 섞지 않습니다.
클래스명은 Customer·Account처럼 사물이고, 메서드는 postPayment·deletePage처럼 행동입니다. 이름이 길어도 역할이 보이면 짧은 암호보다 낫습니다. 나쁜 이름은 의 가독성 축입니다.
함수와 주석
함수는 한 화면에 들어오는 크기, 한 가지 일, 입니다. 인자는 0~2가 이상이고 3 이상이면 객체로 묶을지를 봅니다. 입력에서 출력으로만 가는 순수에 가깝게 두면 시험이 쉽습니다.
오류 코드 -1보다 예외가 경로를 분명히 합니다. try-catch 안의 정상 흐름은 추출합니다. 좋은 주석은 라이선스, 의도, 경고, TODO입니다. 코드를 반복하는 주석은 이름과 구조가 실패했다는 신호입니다. 자기 설명 코드가 먼저이고, 이 그 수단입니다.
포맷, 지표, 문화
수직으로 개념을 빈 줄로 나누고, 수평은 들여쓰기와 팀 컨벤션입니다. 포맷터를 CI에 두면 취향 논쟁이 사라집니다. 지표는 (분기, 흔히 10 이하), 중복률(낮게), 리뷰 중 “이게 뭐지” 빈도입니다.
문화는 , , 스프린트 에 리뷰·컨벤션을 넣는 것입니다. 이 게이트가 됩니다. 은 지나며 한 줄 더 닦는 일입니다. 생성 코드가 늘수록 이름은 모델이 대충 짓고, 사람이 의도를 고칩니다.
| 축 | 실천 | 실패 신호 |
|---|---|---|
| 이름 | 역할이 문장 | 한 글자·혼용 동사 |
| 함수 | 작게, 한 일 | 스크롤·여러 책임 |
| 주석 | 코드가 못 하는 말 | 코드 복붙 주석 |
| 품질 | 복잡도·중복 게이트 | 리뷰가 해독 시간 |
답안은 읽기 10배, 명명 세 규칙, 작은 함수·예외, 복잡도 지표와 보이스카우트를 한 장에 씁니다.