문제 요약 :
간단히 말해서, 나는 코드베이스와 개발 팀을 물려 받았으며 대체 할 수 없으며 God Objects의 사용은 큰 문제입니다. 계속해서, 나는 우리가 일을 리팩토링하기를 원하지만 "더 쉬워지기 때문에"God Objects로 모든 것을하고 싶은 팀으로부터 푸시 백을 받고 있습니다. 이것은 리팩토링을 할 수 없다는 것을 의미합니다. 나는 수년간의 개발 경험을 인용하면서, 나는 이런 것들 등을 알기 위해 고용 된 새로운 상사이며, 제 3 자 해외 회사들도 영업 담당자를 고용하고 있으며, 이제 경영진 수준과 회의에 있습니다. 나는 내일이며, 회사를 위해 장기적으로 더 저렴하다고 생각하기 때문에 (그리고 개인적으로 제 3자가 걱정하는 바라고 생각하기 때문에) 모범 사례를 옹호하기 위해 많은 기술 탄약을 가지고 가고 싶습니다.
내 문제는 기술 수준에서 왔지만 장기적으로는 좋지만 초단기 및 6 개월 기간에 문제가 있으며 "알고있는"것은 외부에서 참조 및 인용 된 자료로 증명할 수 없습니다. 한 사람 (Robert C Martin)은 한 사람의 데이터를 가지고 있다는 말을 들었으므로 한 사람 (Robert C Martin)은 논쟁에 충분하지 않기 때문에 .
질문:
"신"개체 / 클래스 / 시스템의 이러한 사용이 잘못되었다고 명시 적으로 언급하는 해당 분야의 유명한 전문가가 직접 인용 할 수있는 자료 (제목, 출판 년도, 페이지 번호, 견적)는 무엇입니까? 가장 기술적으로 유효한 솔루션)?
내가 이미 수행 한 연구 :
- 여기에 여러 권의 책이 있으며 "god object"와 "god class"라는 단어를 사용하기 위해 색인을 검색했습니다. 나는 이상하게도 거의 사용하지 않았고 예를 들어 GoF 책의 사본을 사용하지 않았다는 것을 알았지 만 (적어도 내 앞의 색인에 따르면) 아래 두 권의 책에서 찾았지만 더 많이 원합니다. 사용할 수 있습니다.
- 나는 확인 "하나님 개체"에 대한 위키 백과 페이지 나는 개인적으로 말한다 동의하지만, 훨씬 내가 개인적인 경험이 유효한 것으로 간주되지 않는 환경에서 사용할 수 없습니다 있도록 작은 참조 링크와의 현재 스텁을. 인용 된이 책은 또한 그들이 주장하고있는 주장으로 내가이 기술적 인 점들을 토론하고있는 사람들에 의해 유효하기에는 너무 오래 된 것으로 간주됩니다. "개체를 사용하는 것이 좋습니다". 나는 개인적으로이 진술이 잘못되었다고 믿지만 그것이 무엇이든간에 진실을 증명하고 싶습니다.
- Robert C Martin의 "C #의 민첩한 원칙, 패턴 및 실습"(ISBN : 0-13-185725-8, 하드 커버)에서 266 페이지의 "모든 사람은 신 수업이 나쁜 생각임을 알고 있습니다. 우리는 원하지 않습니다. OOD의 목표 중 하나는 행동을 많은 클래스와 많은 기능으로 분할하고 분배하는 것입니다. " 그리고 때로는 어쨌든 때때로 신 클래스를 사용하는 것이 더 좋습니다 (예 : 인용 마이크로 컨트롤러).
- Robert C Martin의 "Clean Code : Agile Software Craftsmanship 핸드북"136 페이지 (이 페이지에서만)는 "하나님 클래스"에 대해 이야기하고 "클래스가 작아야합니다"규칙을 위반 한 주요 사례라고합니다. 그는 138 페이지부터 시작하는 단일 책임 원칙을 홍보하는 데 사용합니다.
내가 가진 문제는 모든 참고 문헌과 인용이 동일한 사람 (Robert C. Martin)에서 왔으며 동일한 단일 사람 / 출처에서 온 것입니다. 나는 그가 단지 하나의 견해이기 때문에 "하나님 클래스"를 사용하지 않으려는 나의 소망은 유효하지 않으며 소프트웨어 산업에서 표준 모범 사례로 받아 들여지지 않는다고 들었습니다. 이것이 사실입니까? 밥 삼촌의 가르침을 지키려고 노력하면서 기술적 인 관점에서 잘못하고 있습니까?
신 객체와 객체 지향 프로그래밍 및 디자인 :
내가 이것을 더 많이 생각할수록 이것은 OOP를 공부할 때 더 많이 배우는 것이라고 생각하며, 명시 적으로 언급되지 않습니다. 좋은 디자인에 내재하는 것은 내 생각입니다 (배우고 싶습니다. 제발 배우고 싶습니다). 문제는 이것을 "알고"있지만 모든 사람이하지는 않으므로이 경우 유효한 주장으로 간주되지 않기 때문에 통계적으로 대부분의 사람들이 프로그래머가 아니기 때문에 실제로 대부분의 사람들이 통계적으로 무지 할 때 나는 그것을 보편적 진리로 효과적으로 부릅니다.
결론:
그들이 기술적 인 주장을하고 있기 때문에 나는 최고의 추가 결과를 인용하기 위해 무엇을 찾아야할지 모르겠다. 나는 진실을 알고 실제 엔지니어 / 과학자와 같은 인용으로 그것을 증명할 수 있기를 원한다. 나는 그것을 사용하는 코드에 대한 개인적인 경험으로 인해 신의 대상에 대해 편견이 있습니다. 도움이나 인용은 깊이 감사하겠습니다.