Recentemente ho iniziato un nuovo lavoro.
Il sistema esistente funziona bene, ma è mal progettato e difficile da mantenere, e stanno progettando di ricostruirlo in MVC e temo che sarà molto peggio. (Non a causa di MVC) Voglio scoraggiare il lead dev dall'usare un anti-pattern
I problemi esistenti includono
- Stringhe hard coded nella logica di business che sono anche legate all'interfaccia (ad esempio
if (x.CustomerType.Contains("Shipping Customer") foobar();
è ovunque - Alcune classi si mappano direttamente a dbTables (che è buono). Ma perché il software
deve essere "facile aggiungere funzionalità", esiste una tabella "DynamicData" di Sharepoint per la memorizzazione di nuovi campi che il cliente potrebbe richiedere. a la
[FieldName] [FieldValue] [FieldType]
- Rifiuto di usare Linq ma catene query lamda per circa 2 larghezze di pagina.
- Eccezioni non esplicitamente lanciate o rimandate, ma non gestite correttamente (il client può vedere lo stack di chiamate perché è semplicemente scaricato in una finestra di dialogo popup)
- Rifiuto di utilizzare
var
ma adora l'idea didynamic
di tutto.
Qual è il modo migliore per convincere il mio lead dev ad evitare questi metodi orribili e non mettere tutto nella tabella generica coppia-valore-chiave nella versione 2.0? (Considerando che sono nuovo qui e il team leader è stato qui per molti anni)