필요한 기능 빼먹지 않기필요한 기능을 빼먹지 않는 원칙은두 단계로 적용한다.첫 번째는 클라이언트가 필요로 하는 동작은모두 인터페이스에 추가해야한다.간혹 포함시켜야할 지 불분명한 기능이 있다.이럴 때는 자신이 작성한 코드를 클라이언트가이용하는 모든 경우의 수를 따져봐야한다.인터페이스를 설계할 때 한 가지 관점만 고려하면다른 방식으로 바라보는 클라이언트가 필요한 기능을 놓칠 수 있다.물론 가능한 모든 경우의 인터페이스를 설계한다는 것이불가능에 가깝다.두 번째 인터페이스에 최대한 많은 기능을 구현하는 것이다.라이브러리에서 해결할 수 있거나그러나,인터페이스를 다르게 설계하면 알 수 있는 정보를클라이언트 코드에서 지정하도록 구현하면 안된다.또한 라이브러리의 결과를 합치는 데필요한 일을 클라이언트에게 떠넘기면 안된다.