Ho un brutto bit di codice, essenzialmente un'iterazione su alcune strutture di dati in cui la carne dell'azione stava cambiando, ma il codice di iterazione è rimasto lo stesso. L'iterazione costituiva la maggior parte del codice e c'erano almeno quattro casi di copia del codice.
Così ho rifattorizzato il codice, inserendo ogni livello di iterazione nella sua classe (probabilmente farò un altro post in seguito). Il nuovo codice è considerevolmente più bello (almeno ai miei occhi), senza copia / incolla posizioni. Tuttavia, a causa dell'infrastruttura che ho dovuto presentare ai loop annidati di refactoring in classi separate, ho finito con il 10% in più di LOC. Se scendo l'infrastruttura extra, ottengo circa il 5% di codice più piccolo rispetto alla dimensione originale.
Quindi, il codice è più sofisticato, ma non è più breve e potrebbe essere più difficile da capire per un programmatore meno esperto. Potrei ancora finire con un codice più breve in futuro se si presentano più opportunità di riutilizzo.
La mia domanda è: pensi che ne valesse la pena? È una buona idea refactoring per "una volta sola" se il conteggio LOC sale?