Effective Kotlin - 추상화의 경계

JINHO LEE·2024년 7월 15일
0

추상화의 균형 맞추기

모든 추상화는 자유를 주지만, 코드가 어떻게 돌아가는 것인지 이해하기 어렵게 만든다. 극단적인 것은 언제나 좋지 않기에 아래와 같은 요소들에 따라서 결정을 하도록 하자.

  • 팀의 크기
  • 팀의 경험
  • 프로젝트의 크기
  • 특징 세트
  • 도메인 지식

많은 개발자가 참여하는 프로젝트는 이후에 객체 생성과 사용 방법을 변경하기 어렵다. 그렇기에 추상화 방법을 사용하는 것이 좋다. 최대한 모듈과 부분을 분리하는 것이 좋다.

의존성 주입 프레임워크를 사용하면, 생성이 얼마나 복잡한지는 신경 쓰지 않아도 된다.

테스트를 하거나, 다른 애플리케이션을 기반으로 새로운 애플리케이션을 만든다면 추상화를 사용하는 것이 좋다.

프로젝트가 작고 실험적이라면, 추상화를 하지 않고도 직접 변경해도 괜찮다.

정리

추상화는 단순하게 중복성을 제거해서 코드를 구성하기 위한 것이 아니다.
추상화는 코드를 변경해야 할 때 도움이 되기 때문에 추상화를 사용할 때의 장점과 단점을 모두 이해하고 균형을 찾아야한다.

0개의 댓글