-
다음은 로버트 C.마틴의 Clean Code 책 내용을 요약한 전문입니다.
클린 코드란?
읽기 쉬운 코드가 클린코드이다.
- 전체적으로 고려해야 할 사항
- 단일 책임 원칙: 하나의 인터페이스가 하나의 역할을 수행해야 한다.
- → 컴포넌트를 분리할 때 디자인보다 시나리오를 중점적으로 바라보기
- 변수명
- 의도가 분명한 이름을 지으라.
- 검색하기 쉬운 이름을 사용하라.
- 기발한 이름보다는 명료한 이름을 선택하라.
- 한 개념에 한 단어를 사용하라. ex. fetch, retrieve, get 등 중 하나만 선택
- 의미있는 맥락을 추가하라 ex. state 보다는 address
- 함수
- 함수명은 동사, 동사구가 적합하다. ex. getName()
- 함수가 하는 일을 서술적으로 표현할 수 있는 이름을 사용하라. ex. isTestable, includesetupAndTearDownPages
- 인자의 개수
- 이상적인 인수 개수는 0개
- 3개 이상은 가능한 피하는 것이 좋다.
- 4개 이상은 금물.
- 부수 효과를 일으키지 말 것
- 명령과 조회를 분리하라
- 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다.
- 객체 상태를 변경하거나 객체 정보를 반환하거나
- 함수명은 동사, 동사구가 적합하다. ex. getName()
- 주석
- 잘 달린 주석은 그 어떤 정보보다 유용하다.
- 경솔하고 근거없는 주석은 코드를 이해하기 어렵게 만든다.
- 주석은 나쁜 코드를 보완하지 못한다.
- 코드에 주석을 추가하는 이유가 코드 품질이 나빠서가 되어서는 안된다.
- 주석을 달 바에야 코드를 깔끔하게 정리해라.
- 좋은 주석
- 법적인 주석
- 저작권 정보와 소유권 정보
// Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved. // GNU General Public License 버전 2 이상을 따르는 조건으로 배포한다.
- 정보를 제공하는 주석
- // 테스트 중인 Responder 인스턴스를 반환한다.
- 의도를 설명하는 주석
- 구현을 이해하게 도와주는 선을 넘어 결정에 깔린 의도까지 설명한다.
- 의미를 명료하게 밝히는 주석
- 모호한 인수나 반환값이 있을 경우 주석을 유용하게 사용할 수 있다.
- 결과를 경고하는 주석
- // 여유 시간이 충분하지 않다면 실행하지 마십시오.
- TODO 주석
- 앞으로 할 일을 // TODO 주석으로 남겨두면 편하다.
- 중요성을 강조하는 주석
- 자칫 대수롭지 않다고 여겨질 뭔가의 중요성을 강조하기 위해서도 주석을 사용한다.
- 법적인 주석
- 나쁜 주석
- 특별한 이유 없이 의무감으로 작성하는 주석은 시간 낭비다.
- 코드 내용을 그대로 중복하는 주석은 자칫하면 코드보다 주석을 읽는 시간이 더 오래 걸린다.
- 오해할 여지가 있는 주석
- 편집 이력을 기록하는 주석은 혼란만 가중하게 된다.
- 주석으로 처리한 코드는 지우지 못해서 점차 쌓여간다. 쓸모 없다면 과감히 지워버리자.
- 주석에 너무 많은 정보를 장황하게 늘어놓지 마라.
- 주석은 근처에 있는 코드만 기술하라. 코드 일부에 주석을 달면서 시스템의 전반적인 정보를 기술하지 마라.
- 형식 맞추기
- 적절한 행 길이를 유지하라.
- 변수는 사용하는 위치에 최대한 가까이 선언하라.
- 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.
- 개념적인 친화도가 높은 코드일 수록 서로 가까이 배치한다.
- 리팩토링
- 중복을 없애라
'자기계발' 카테고리의 다른 글
[책: 내 코드가 그렇게 이상한가요?] 5장. 응집도: 흩어져 있는 것들 (0) 2023.10.29 [책: 내 코드가 그렇게 이상한가요?] 4장. 불변 활용하기: 안정적으로 동작하게 만들기 (0) 2023.10.28 [책: 내 코드가 그렇게 이상한가요?] 2장. 설계 첫걸음 (1) 2023.10.28 [책: 내 코드가 그렇게 이상한가요?] 1장. 잘못된 구조의 문제 깨닫기 (0) 2023.10.26 린 고객 개발 (작성 중) (0) 2022.04.14 - 전체적으로 고려해야 할 사항