Ich arbeite auf einer ziemlich großen Codebasis. Hunderte von Klassen, Tonnen von verschiedenen Dateien, viele Funktionen, es dauert mehr als 15 Minuten, um eine neue Kopie abzurufen usw.
Ein großes Problem bei einer so großen Codebasis ist, dass es einige Dienstprogrammmethoden gibt, die dasselbe tun, oder Code, der diese Dienstprogrammmethoden nicht verwendet, wenn dies möglich ist. Und auch die Utility-Methoden sind nicht alle in einer Klasse (weil es ein riesiges Durcheinander sein würde).
Ich bin ziemlich neu in der Codebasis, aber der Teamleiter, der seit Jahren daran arbeitet, scheint dasselbe Problem zu haben. Es führt zu vielen Code- und Arbeitsduplikationen. Wenn also etwas kaputt geht, werden normalerweise vier Kopien des gleichen Codes erstellt
Wie können wir dieses Muster eindämmen? Wie bei den meisten großen Projekten ist nicht der gesamte Code dokumentiert (obwohl es einige gibt) und nicht der gesamte Code ist ... gut, sauber. Aber im Grunde wäre es wirklich schön, wenn wir daran arbeiten könnten, die Qualität in dieser Hinsicht zu verbessern, damit wir in Zukunft weniger Code-Duplikate haben und Dinge wie Dienstprogramme leichter zu entdecken sind.
Außerdem befinden sich die Dienstprogrammfunktionen normalerweise entweder in einer statischen Hilfsklasse, in einer nicht statischen Hilfsklasse, die für ein einzelnes Objekt arbeitet, oder in einer statischen Methode für die Klasse, bei der sie hauptsächlich "hilft".
Ich hatte ein Experiment zum Hinzufügen von Dienstprogrammfunktionen als Erweiterungsmethoden (ich brauchte keine Interna der Klasse und es war definitiv nur in sehr spezifischen Szenarien erforderlich). Dies hatte zur Folge, dass die Primärklasse und dergleichen nicht überladen wurde, aber es ist nicht mehr wirklich erkennbar, es sei denn, Sie wissen bereits davon