Devo estendere un modulo esistente di un progetto. Non mi piace come è stato fatto (un sacco di anti-pattern coinvolti, come copia / codice incollato). Non voglio eseguire un refactoring completo per molte ragioni.
Dovrei:
- crea nuovi metodi usando esistente convenzione, anche se la sbaglio, per evitare confusione per il prossimo manutentore ed essere coerente con il codice base?
o
- cerca di usare ciò che sento meglio anche se sta introducendo un altro modello in il codice?
Precison modificato dopo le prime risposte:
Il codice esistente non è un disastro. È facile da seguire e capire. MA sta introducendo un sacco di codice boilerplate che può essere evitato con un buon design (il codice risultante potrebbe diventare più difficile da seguire in quel momento). Nel mio caso attuale è un buon modulo DAO JDBC (Spring Template Inboard), ma ho già incontrato questo dilemma e sto cercando altri feedback di sviluppo.
Non voglio refactoring perché non ho tempo. E anche con il tempo sarà difficile giustificare che un intero modulo perfettamente funzionante necessiti di refactoring. Il costo del refactoring sarà più pesante dei suoi benefici. Ricorda: il codice non è disordinato o troppo complesso. Non riesco a estrarre alcuni metodi lì e introdurre qui una classe astratta. È più un difetto nel design (risultato dell'estrema 'Keep It Stupid Simple' penso)
Quindi la domanda può anche essere posta in questo modo:
Tu, come sviluppatore, preferisci mantenere un codice noioso facile e stupido o avere degli aiutanti che faranno lo stupido codice noioso al tuo posto?
Il lato negativo dell'ultima possibilità è che dovrai imparare alcune cose e forse dovrai mantenere lo stupido e noioso codice fino a che non viene effettuato un completo refactoring)