Lavoro su una base di codice piuttosto ampia. Centinaia di classi, tonnellate di file diversi, molte funzionalità, impiegano 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 simili che fanno la stessa cosa, o ha un 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 alla base di codice, ma il team leader che ha lavorato per 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 progetti di grandi dimensioni, non tutto il codice è documentato (anche se alcuni lo sono) e non tutto il codice è ... beh, pulito. In sostanza, sarebbe davvero bello se potessimo lavorare sul miglioramento della 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 solitamente in qualche classe helper statica, in una classe helper non statica che funziona su un singolo oggetto, o è un metodo statico sulla classe con cui principalmente "aiuta".
Ho avuto un esperimento nell'aggiunta di funzioni di utilità come metodi di estensione (non avevo bisogno di alcun interno della classe, ed era sicuramente richiesto solo in scenari molto specifici). Ciò ha avuto l'effetto di evitare di ingombrare la classe primaria e così via, ma non è davvero più rilevabile a meno che non ne sia già a conoscenza