추상화는 소프트웨어 개발에서 중요한 일이지만 너무 빨리 추상화를 하거나 너무 많은 추상화를 하는 것은 불필요하게 복잡성을 증가시킬 수 있고 코드를 너 이해하기 어렵고 유지보수 하기 어렵게 만듭니다.
How to Avoid Hasty Abstractions
- 추상화 하기 전에 해결 해야 할 문제에 대해 이해를 하자
- 간단한 솔루션에서 시작하고 해당 솔루션이 복잡해지기 시작했을 때 추상화를 만들자.
- 추상화를 하기 전에 코드 리팩토링을 하자
- 추상화를 만들기 위한 추상화는 피하자
- 추상화를 만들때 이미 잘 알려진 디자인 패턴을 사용하자 그렇다고 코드에 강제하지는 말고
- 자동화된 테스팅으로 추상화가 새로운 버그나 함수 기능 이상을 일으키지 않게 보장하자
- 추상화는 테스트와 디버깅 그리고 만든 이유를 알기 쉽도록 만들어져야 한다