Problemzusammenfassung:
Kurz gesagt, ich habe eine Codebasis und ein Entwicklungsteam geerbt, das ich nicht ersetzen darf, und die Verwendung von God Objects ist ein großes Problem. In Zukunft möchte ich, dass wir die Dinge neu faktorisieren, aber ich werde von den Teams zurückgedrängt, die alles mit God Objects machen wollen, "weil es einfacher ist", und dies bedeutet, dass ich nicht die Möglichkeit habe, die Dinge neu zu faktorisieren. Aufgrund meiner jahrelangen Erfahrung in der Entwicklung habe ich mich zurückversetzt und darauf hingewiesen, dass ich der neue Chef bin, der eingestellt wurde, um diese Dinge usw. zu kennen, und ebenso die Vertriebsmitarbeiter von Drittanbietern im Offshore-Bereich, und dies jetzt auf der Führungsebene und in meinem Meeting ist morgen und ich möchte mit viel technischer Munition für Best Practices eintreten, da ich der Meinung bin, dass dies auf lange Sicht billiger sein wird (und ich persönlich bin der Meinung, dass dies das ist, worüber sich der Dritte Sorgen macht).
Mein Problem ist aus technischer Sicht, ich weiß, dass es langfristig gut ist, aber ich habe Probleme mit der Ultrakurz- und 6-Monats-Laufzeit, und obwohl ich es "weiß", kann ich es nicht mit Referenzen und zitierten Ressourcen außerhalb beweisen von einer Person (Robert C. Martin, auch bekannt als Onkel Bob), da mir gesagt wurde, dass es nicht gut genug ist, Daten von einer Person und nur einer Person (Robert C Martin) zu haben .
Frage:
Welche Ressourcen kann ich von bekannten Experten auf diesem Gebiet direkt zitieren (Titel, Erscheinungsjahr, Seitenzahl, Zitat), die ausdrücklich sagen, dass diese Verwendung von "Gott" -Objekten / Klassen / Systemen schlecht (oder gut) ist, da wir suchen für die technisch valide Lösung)?
Ich habe bereits recherchiert:
- Ich habe eine Reihe von Büchern hier und ich habe ihre Verzeichnisse nach den Wörtern "God Object" und "God Class" durchsucht. Ich fand, dass es seltsamerweise fast nie benutzt wird und die Kopie des GoF-Buches, die ich zum Beispiel habe, es nie benutzt (zumindest gemäß dem Index vor mir), aber ich habe es in den beiden Büchern unten gefunden, aber ich möchte mehr Ich kann nutzen.
- Ich habe auf der Wikipedia-Seite nach "God Object" gesucht und es handelt sich derzeit um einen Stub mit wenigen Verweisen. Obwohl ich persönlich damit einverstanden bin, heißt es, dass ich in einer Umgebung, in der persönliche Erfahrungen als ungültig gelten, nicht viel verwenden kann. Das zitierte Buch wird auch von den Leuten, mit denen ich diese technischen Punkte diskutiere, als zu alt angesehen, als das Argument, das sie vorbringen, ist, dass "es einst für schlecht gehalten wurde, aber niemand es beweisen konnte, und jetzt sagt moderne Software" Gott msgstr "Objekte sind gut zu benutzen". Ich persönlich glaube, dass diese Aussage falsch ist, aber ich möchte die Wahrheit beweisen, was auch immer es ist.
- In Robert C. Martins "Agile Prinzipien, Muster und Praktiken in C #" (ISBN: 0-13-185725-8, gebunden) heißt es auf Seite 266: "Jeder weiß, dass Gottesklassen eine schlechte Idee sind. Wir wollen nicht die gesamte Intelligenz eines Systems auf ein einzelnes Objekt oder eine einzelne Funktion zu konzentrieren. Eines der Ziele von OOD ist die Aufteilung und Verteilung des Verhaltens in viele Klassen und viele Funktionen. " - Und manchmal ist es sowieso besser, Gottklassen zu verwenden (am Beispiel von Mikrocontrollern).
- In Robert C. Martins "Clean Code: Ein Handbuch für agiles Softwarehandwerk" (Seite 136) (und nur diese Seite) wird die "Gottesklasse" als Paradebeispiel für eine Verletzung der "Klassen sollten klein sein" -Regel genannt er fördert damit das Prinzip der Einzelverantwortung "ab Seite 138.
Das Problem, das ich habe, ist, dass alle meine Referenzen und Zitate von derselben Person (Robert C. Martin) stammen und von derselben Person / Quelle stammen. Mir wurde gesagt, dass mein Wunsch, "God Classes" nicht zu verwenden, ungültig ist und nicht als Standard-Best-Practice in der Software-Branche akzeptiert wird, weil er nur eine Ansicht ist. Ist das wahr? Mache ich aus technischer Sicht etwas falsch, indem ich versuche, mich an die Lehre von Onkel Bob zu halten?
Gott Objekte und objektorientierte Programmierung und Design:
Je mehr ich darüber nachdenke, desto mehr lernst du, wenn du OOP studierst. Sein implizites zu gutem Design ist mein Denken (Fühlen Sie sich frei, mich zu korrigieren, bitte, wie ich lernen möchte), das Problem ist, dass ich das "weiß", aber nicht jeder tut, so dass es in diesem Fall kein gültiges Argument ist, weil Ich bezeichne es effektiv als universelle Wahrheit, obwohl die meisten Menschen statistisch gesehen nichts davon wissen, da statistisch gesehen die meisten Menschen keine Programmierer sind.
Fazit:
Ich weiß nicht, wonach ich suchen soll, um die besten zusätzlichen Ergebnisse zu erzielen, da sie einen technischen Anspruch erheben, und ich möchte die Wahrheit wissen und sie mit Zitaten wie ein echter Ingenieur / Wissenschaftler nachweisen können, auch wenn Aufgrund meiner persönlichen Erfahrung mit Code, der sie verwendet, bin ich gegen Gottobjekte voreingenommen. Jede Unterstützung oder Zitate wäre sehr dankbar.