<aside> 💡 착실하게 따르기만 하면 우수한 설계가 나오는 간단한 규칙 4가지가 있다?
</aside>
1 모든 테스트를 실행하라
→ 개발자는 DIP와 같은 원칙을 적용하고, 의존성 주입, 인터페이스, 추상화 등과 같은 도구를 사용해 결합도를 낮춘다
<aside> 💡 이제 코드를 점진적으로 리팩터링 해나간다. 코드를 정리하면서 시스템이 깨질 걱정할 필요가 없다. 테스트 케이스가 있으니까!
</aside>
2 중복을 없애라
다음 두 가지 메서드가 있다고 가정하자
int size() {}
boolean isEmpty() {}
깔끔한 시스템을 만들려면 단 몇 줄이라도 중복을 제거하겠다는 의지가 필요하다