Neulich habe ich den Code überprüft, den jemand in meinem Team geschrieben hat. Die Lösung war nicht voll funktionsfähig und das Design viel zu kompliziert - das heißt, es wurden unnötige Informationen gespeichert, unnötige Funktionen erstellt, und im Grunde hatte der Code eine Menge unnötiger Komplexität wie Vergolden, und es wurde versucht, nicht vorhandene Probleme zu lösen.
In dieser Situation frage ich: "Warum wurde das so gemacht?"
Die Antwort ist, dass die andere Person Lust hatte, es so zu machen.
Dann frage ich, ob eine dieser Funktionen Teil der Projektspezifikation war oder ob sie für den Endbenutzer von Nutzen sind oder ob dem Endbenutzer zusätzliche Daten präsentiert würden.
Die Antwort ist nein.
Also schlage ich vor, dass er die ganze unnötige Komplexität löscht. Die Antwort, die ich normalerweise bekomme, ist "Nun, es ist schon fertig".
Ich bin der Meinung, dass dies nicht getan wird, dass es fehlerhaft ist, dass es nicht das tut, was die Benutzer wollen, und dass die Wartungskosten höher sind, als wenn es auf die von mir vorgeschlagene einfachere Weise getan würde.
Ein äquivalentes Szenario ist: Der
Kollege verbringt 8 Stunden damit, den Code von Hand umzugestalten, was in 10 Sekunden in Resharper automatisch möglich gewesen wäre. Natürlich traue ich dem Refactoring von Hand nicht, da es von zweifelhafter Qualität und nicht vollständig getestet ist.
Wieder lautet die Antwort: "Nun, es ist schon erledigt."
Was ist eine angemessene Antwort auf diese Haltung?