728x90
반응형
12장. 창발성 (Emergence)
- 단순한 규칙 4가지로 우수한 설계가 나올 수 있게 할 수 있다
단순한 설계 규칙 4가지
- 모든 테스트를 실행한다
- 결합도가 높으면 테케를 작성하기가 어렵다.
- 결합도를 낮추려면 DI, 인터페이스, 추상화등을 이용
- 테스트가 가능한 시스템을 만들면 객체지향 방법론이 지향하는 목표를 저절로 달성할 수 있다. (SOLID)
- 리팩토링
- TC를 모두 작성헀으면 코드를 점진적으로 리팩토링 할 수있다.
- 변화에 두렵지 않음. 시스템이 깨질까봐 두렵지 않음. side effect가 두렵지 않음.
- 결합도가 높으면 테케를 작성하기가 어렵다.
- 중복을 없앤다
- 중복되는 로직이나 코드를 최대한 함수나 클래스로 빼자.
TEMPLATE METHOD
패턴은 고차원 중복을 제거하는데 도움을 준다.
- 프로그래머 의도를 표현한다
- 코드는 개발자의 의도를 분명히 표현해야 한다.
- 좋은 이름을 선택해야한다.
- 클래스와 메서드 수를 최소로 줄인다
가능한
줄이자.- 무조건 자료와 동작을 분리한다. 이런것은 옳지 않다.
- 독단적인 견해는 멀리하는것이 좋다.
- TC를 만들고 중복을 제거하고 의도를 표현하는것이 더 중요한 작업이다.
728x90
반응형
'WEB > Clean Code' 카테고리의 다른 글
[Clean Code] 13장. 동시성 (0) | 2022.02.25 |
---|---|
[Clean Code] 11장. 시스템 (0) | 2022.02.24 |
[Clean Code] 10장. 클래스 (0) | 2022.02.23 |
[Clean Code] 9장. 단위테스트 (0) | 2022.02.23 |
[Clean Code] 8장. 경계 (0) | 2022.02.22 |