문제
단일 책임 원칙을 적용하고 클래스의 변경 이유를 살펴볼 때 그 이유가 너무 세분화되었는지 또는 충분히 세분화되지 않았는지 어떻게 판단합니까?
해결책
'경험을 바탕으로 판단을 적용'하는 것 외에 다른 좋은 답변이 있는지 모르겠습니다.실패하면 도움을 받으십시오. 여기서하는 일인 것 같습니다.)
진지하게도 간단한 일처럼 보이는 작업을 수행하기 위해 엄청난 수의 수업을 만들고 있다는 사실을 알게된다면 너무 세분화되었을 것입니다.수업이 모두 어마 어마한 것 같다면 아마 너무 거칠어 보일 것입니다.그것이 명백한 진술이라면 저를 용서하십시오.
이것은 인간 프로그래머가 필요한 이유를 보여주는 애매하고 단단하고 빠른 규칙 중 하나라고 생각합니다.무언가를 시도하고, 균형을 찾고, 한 방향 또는 다른 방향으로 너무 멀리 가고있는 경우 리팩토링하십시오.그리고 다음 사항을 기억하십시오. 할만한 가치가있는 경우나쁘게 .
다른 팁
- 처음에는 세분화에 대해 너무 걱정하지 않습니다.처음에는 더 넓은 수준에서 관심사 분리를 진행하겠습니다.기본 포인트는 여기서 과도한 엔지니어링을 피해야한다는 것입니다.하지만 충분합니다.여기에서 Lucas 에 동의합니다.첫 번째 단계는 경험을 통해 향상됩니다.
- 요구 사항이 변경되면 '냄새'가 나오기 시작하면서 문제에 대한 이해가 향상됨에 따라 별도의 우려 사항이 분명 해지면이를 고려하여 디자인을 리팩토링합니다.기본적으로 관심의 분리는 전체 디자인과 마찬가지로 진화 적입니다.
제휴하지 않습니다 StackOverflow