Di tanto in tanto, mi trovo a copiare un po 'di codice e modificare la versione copiata. So molto bene che avere due copie dello stesso codice è una pessima idea, ma quei pezzi di codice sono piccoli e presentano differenze significative.
Il problema è che, quando si modifica la copia, a volte dimentico un pezzo dell'originale, che non dovrebbe essere lì. Ad esempio, per prima cosa scrivo (codice C #, ma qui non è importante):
if (DateFrom != null)
query = query.Where(x => x.Date >= DateFrom.Value);
quindi lo copio e lo copio nel seguente modo:
if (DateTo != null)
query = query.Where(x => x.Date < DateFrom.Value);
che non è corretto, perché dovrebbe esserci DateTo
sulla seconda riga anziché DateFrom
.
Che cosa suggeriresti per evitare questo tipo di bug?