Duplicazione del codice nel progetto a più moduli

1

Ho circa sette moduli disposti in questo modo:

  • servizio
  • Lavorazione
  • Comune
  • Account
  • E-mail
  • Programmazione

Cerco di rendere la mia politica per limitare il codice al modulo che effettivamente lo utilizza. Il codice condiviso da più progetti (3+) viene inviato al comune. Tuttavia, ci sono alcune classi che vengono utilizzate solo da due progetti. Nel mio esempio più recente, sia l'account che l'elaborazione richiedono l'elaborazione di immagini.

È un codice odore due hanno le stesse classi trovate in due moduli? Devo spostare il codice duplicato in comune non appena viene utilizzato più di una volta?

    
posta IAE 12.02.2014 - 15:26
fonte

2 risposte

4

Mi piace molto il principio DRY dei programmatori pragmatici per descrivere questo tipo di situazione:

Ogni pezzo di conoscenza deve avere una singola, non ambigua, autorevole rappresentazione all'interno di un sistema.

Qual è il vantaggio di mantenere due diverse rappresentazioni della stessa conoscenza in un sistema ?, IMMO questo può solo causare problemi.

    
risposta data 12.02.2014 - 16:05
fonte
2

Tutto ciò che viene usato più di una volta dovrebbe essere inserito in una posizione comune, se l'utilizzo è tra diversi progetti. La duplicazione del codice è la radice di tutti i mali e non puoi essere sicuro che un bug corretto in una posizione verrà corretto in tutte le posizioni duplicate.

In termini di manutenzione, gli sviluppatori futuri potrebbero trovare confuso vedere due classi che sono esattamente le stesse in più posizioni.

    
risposta data 12.02.2014 - 15:29
fonte

Leggi altre domande sui tag