Ho ricevuto un file con diversi record. Mi hanno anche dato regole di business che determinano come elaborare quei record e produrre un file di output. Le regole aziendali sono relativamente semplici:
- Se il record è di tipo A, utilizzare la metodologia A.
- Se il record è di tipo B, utilizzare la metodologia B.
Tuttavia, il mio cliente mi ha inviato un messaggio di posta elettronica: esiste un record "speciale" nel file. È un record di tipo A, ma deve essere elaborato con la metodologia B.
Come si gestiscono queste eccezioni alle regole aziendali? Alcune opzioni che ho pensato finora:
- Codifica l'eccezione nel software:
if record.id == "some_id" && record.value == 123.45 then methodology B
. - Manipola il file a mano, esegui il programma, quindi correggi l'output a mano.
Il mio collega è sbalordito dal fatto che prenderei in considerazione l'opzione 1. È disordinato e l'anno prossimo (quando devo eseguire di nuovo questo processo) il file potrebbe essere diverso. Si rivelerà un bel "trucco" nascosto che potrebbe causare problemi molto tempo dopo che ho dimenticato l'eccezione.
Tuttavia l'opzione 1 è più semplice dell'opzione 2, e se l'eccezione alla regola rimane la stessa per l'anno prossimo, non dovrò nemmeno pensarci. È già stato gestito. Inoltre, è facile cambiare se ho bisogno di cambiarlo più tardi.
Come faccio a gestire le eccezioni casuali alle regole aziendali?
EDIT:
Questo è un software molto mirato, scritto per fare specificamente un lavoro per un cliente.