Lavoro su una base di codice piuttosto grande. Centinaia di classi, tonnellate di file diversi, molte funzionalità, occorrono più di 15 minuti per estrarre una nuova copia, ecc.
Un grosso problema con una base di codice così grande è che ha parecchi metodi di utilità e tali che fanno la stessa cosa, o ha codice che non usa questi metodi di utilità quando potrebbe. E anche i metodi di utilità non sono solo tutti in una classe (perché sarebbe un enorme pasticcio confuso).
Sono piuttosto nuovo nella base di codici, ma il capo squadra che ci lavora da anni sembra avere lo stesso problema. Porta a un sacco di codice e duplicazione del lavoro e come tale, quando qualcosa si rompe, di solito è rotto in 4 copie dello stesso codice
Come possiamo frenare questo schema? Come con la maggior parte dei grandi progetti, non tutto il codice è documentato (anche se alcuni lo sono) e non tutto il codice è ... beh, pulito. Fondamentalmente, sarebbe davvero bello se potessimo lavorare per migliorare la qualità in questo senso in modo che in futuro avessimo meno duplicazioni di codice e cose come le funzioni di utilità fossero più facili da scoprire.
Inoltre, le funzioni di utilità sono di solito in una classe di supporto statica, in una classe di supporto non statica che funziona su un singolo oggetto o è un metodo statico sulla classe con cui "aiuta" principalmente.
Ho avuto un esperimento nell'aggiunta di funzioni di utilità come metodi di estensione (non avevo bisogno di alcun interno della classe, e sicuramente era richiesto solo in scenari molto specifici). Ciò ha avuto l'effetto di evitare di ingombrare la classe primaria e simili, ma in realtà non è più rilevabile se non lo sai già