클린 코드 11장 : 시스템
초기화 지연, 계산 지연 문제점
- MyServiceImpl 객체를 사용하지 않더라도 의존성을 해결하지 않으면 컴파일이 안된다.
- 테스트할 때 MOCK 객체를 할당해야 한다.
- SRP를 위반한다.
public Service getService(){
if (service == null){
service = new MyServiceImpl(...);
}
return service;
}
초기화 지연 코드를 봤을 때 직감적으로 안 좋은 코드임을 알 수 있었다. 이번 기회에 근거를 알게 되어 좋았다.
의존성 주입
제어 역전 기법을 의존성 관리에 적용한 메커니즘
사용과 제작을 분히라는 강력한 메커니즘 하나가 의존성 주입이다.
스프링이 의존성 주입을 하려는 이유에대해 알게 되었다.
클린 코드 12장 : 창발성
창발성이란? 전체는 부분의 합 혹은 그 이상
창발성이란 뜻에 대해 알게 되었다.
12장 요약 : 소개하는 4개의 규칙을 따르다 보면 좋은 소프트웨어가 된다.
- 모든 테스트를 실행한다 : 테스트 케이스를 만들고 계속 돌려라
- 중복을 없앤다
- 의도를 표현한다 : 좋은 이름을 선택한다, 표준 명칭을 사용한다, 단위 테스트 케이스를 꼼꼼히 작성한다.
- 클래스와 메소드 수를 최소로 한다
우선순위가 있다면 테스트 > 중복 제거, 의도 표현 > 클래스 메서드 수 최소 이다.
'TIL' 카테고리의 다른 글
2022/01/18 TIL (0) | 2022.01.18 |
---|---|
2022/01/17 TIL (0) | 2022.01.17 |
# 2022/01/15 TIL (0) | 2022.01.15 |
2022/01/14 TIL (0) | 2022.01.14 |
2022/01/13 TIL (0) | 2022.01.14 |