서로 다른 유형의 문서를 조작하기 위해 함수를 분리하는 것에 주의를 기울이자
컬렉션 하나를 컬렉션 여러 개로 쪼개야만 하는 또 다른 단서는 애플리케이션 코드에 숨어 있다. 컬렉션을 조작하는 애플리케이션이라면 모든 문서에 적용되는 상당한 양의 코드와 일부 문서에만 있는 특수목적 필드를 조작하는 적지 않은 양의 코드로 구성되어 있을 것이다.
예를 들어 고객 컬렉션에서 문서를 입력, 갱신, 삭제하는 코드 대부분은 모든 문서에 적용될 것이다. 또한, 모든 문서 중 일부에만 적용되는 로열티와 할인 필드를 처리하는 추가적인 코드도 있을 것이다.
Tip 여러분의 코드에 독립적인 문서 유형을 처리하려고 별개의 함수를 써서 분기 처리하는 if 문이 보인다면 이는 별개의 컬렉션으로 분리해서 처리해야 하는 뒤섞인 문서 타입이 있다는 좋은 신호이다.

▲ 그림 6-4 문서를 조작하는 함수에서 높은 수준의 분기처리는 독립적인 컬렉션을 생성할 필요가 있다는 신호이다. 일부 문서들이 선택적인 속성을 갖고 있을 때 낮은 수준의 분기처리가 흔히 사용된다