개발서적
Clean Code, #1
규동
2023. 9. 1. 23:20
의미있는 이름
- 변수, 함수, 클래스, 패키지 이름의 의도를 분명히 밝혀라.
- 발음하기 쉬운 이름을 사용하라. : 줄임말 지양, 대화가 가능한 단어 사용
- 검색하기 쉬운 이름을 사용하라.
- 기억력을 믿지마라.
- 기발한 이름은 피하라. : 일반적으로 사용하는 단어를 사용
- 한 개념에 한 단어를 사용하라.
- 코드를 읽는건 개발자다. 개발자에게 익숙한 이름을 사용
함수
- 작게 만들어라. : 무조건 작게 만드는 것이 좋다고 생각하지 않는다.
- 한가지만 해라 : 함수 당 추상화 수준은 하나로. : 함수 내 모든 문장의 추상화 수준이 동일하게 해야한다.
- 내려가기 규칙 : 코드는 위에서 아래로 읽는다.
- Switch문
- switch문은 본질적으로 N가지를 처리한다.
- 저차원 클래스에 숨기고 절대로 반복하지 않도록 한다.
- 다형성을 이용한다.
- 서술적인 이름을 이용해라.
- 함수 인수 : 이상적인 인수 개수는 0개, 다음은 1개, 다음은 2개, 3개부터는 피하는 것이 좋다.
- 부수효과를 만들지 않는다. : 함수명으로 유추하지 못할 기능을 넣지 않는다.
- 명령과 조회를 분리하라. : 객체 상태를 변경하거나 객체 정보를 반환하거나 둘 중 하나다.
- 오류 코드보다 예외를 사용하라.
- Try/Catch 블록 뽑아내기 : 함수로 분리해라.
- 오류 처리도 한 가지 작업이다.
- 반복하지 마라. : 구조적 프로그래밍, AOP, COP 모두 어떤면에서 중복 제거 전략이다.
주석
- 주석은 나쁜 코드를 보완하지 못한다.
- 코드로 의도를 표현해라. : 함수로 분리 후 함수명을 이용할 수 있다.
- 좋은 주석
- 법적인 주석
- 정보를 제공하는 주석
- 의도를 설명하는 주석
- 의미를 명료하게 밝히는 주석
- 결과를 경고하는 주석
- TODO 주석
- 나쁜 주석
- 주절거리는 주석
- 같은 이야기를 중복하는 주석
- 오해할 여지가 있는 주석
- 의무적으로 다는 주석
- 이력을 기록하는 주석
- 있으나 마나 한 주석
- 위치를 표시하는 주석
- 닫는 괄호에 다는 주석
- 주석으로 처리한 코드
- 너무 많은 정보
- 모호한 관계