728x90
규칙 6. 모든 엔티티(클래스)를 작게 유지한다.
모든 엔티티의 크기를 작게 유지하라는 원칙이다. 여기서 말하는 엔티티는 클래스, 패키지를 포함해 비즈니스적 구분을 갖는 모든 단위를 의미한다. '50줄 이하의 클래스, 10개 이하의 패키지'를 작은 엔티티라고도 한다. 하지만 숫자에 연연하지 말고 최대한 클래스의 크기를 줄이려고 노력하면 된다고 생각한다.
클래스를 작게 유지하려면 어떻게 해야 할까? 클래스의 크기가 큰 이유는 하나의 클래스가 여러 개의 책임을 갖고 있기 때문일 것이다. 클래스가 하나의 책임만 갖는다면 그만큼 클래스의 크기도 줄어들 것이다. 똑같은 이야기를 SOLID의 첫 번째 원칙인 SRP (단일 책임 원칙)에서도 이야기하고 있다.
파일의 수가 늘어나는 것을 두려워하면 안 된다. 클래스의 책임을 나누다 보면 자연스레 파일의 수도 늘어난다. 수 백 줄 수 천 줄의 코드 속에서 메서드를 찾는 것보다 많지만 잘 네이밍 된 클래스들 중 원하는 클래스를 찾는 것이 빠를 것이다. 중요한 것은 그 클래스를 효율적으로 찾기 위해 특정 패턴, 비즈니스적 구분 등으로 패키지를 잘 구분하여 관리하는 것이다.
한 번에 완벽한 객체지향 구조 설계가 나올 수 없다. 꾸준한 리펙토링을 통해 클래스를 분리하고 새로운 관리체계를 만들어 내면 된다.
참고자료
728x90