라이브러리를 만들어본 개발자라면 다들 그럴것 같은데 설계단계부터 최대한 다양한 유즈케이스를 안정적으로 지원하고싶어지곤한다
근데 그와동시에 자기가 갖다쓰려는 도구는 그냥 호출만하면 알아서 동작해주길 원한다 플러그인이나 어댑터 깔아야하는 추가 라이브러리 같은건 적으면 적을수록 좋다.
물론 이런 영역이 필요한 경우도 많다. 다양한 사용례를 지원하지 못하면 살아남을 수 없는 범용적인 라이브러리들은 인터페이스를 간단하게 유지하면서 한두가지 일을 잘하게 하거나 혹은 어댑터나 플러그인 생태계를 잘 지원해주는 노력이 필요하다
그럼 사내 라이브러리는 어떨까? 내 생각엔 사내라이브러리는 잘 정의된 기본값을 통해 핫패스인 사용례는 마찰없이 제공하면서 나머지 특수한 사용사례를 구현할 수 있는 통로정도를 제한적으로 제공하는게 대부분 잘 동작하는 솔루션이라고 생각한다
사용례를 명확하게 정의하면서 문제를 쉽게 만들수록 간단하지만 쉽고 의도대로 잘 동작하는 물건이 나오는 것 같다
반응형