Attualmente sto lavorando a un progetto e ci sono alcuni problemi di "crescita del codice", che richiedono una soluzione. La scadenza non è molto lontana e sarebbe opportuno rimanere entro i tempi previsti.
Tuttavia, il codice ha bisogno di una ristrutturazione, e qui sta la domanda. Dovremmo provare a utilizzare un nuovo framework per risolvere il problema corrente, oppure no.
Il mio collega è molto aperto nei confronti di framework esterni e offre la possibilità di ristrutturare il codice trovando una libreria esistente sulla falsariga di WTL / boost / TinyXML / ATL.
I, d'altra parte, sono molto cauto riguardo ai nuovi framework per basi di codice esistenti. Il linguaggio è C ++ e ho una discreta esperienza in cui librerie come il backfire di MFC con un enorme lanciafiamme.
Non sto dicendo che la mia strada è quella giusta, perché immagino che la verità sia da qualche parte, ma ho bisogno di decidere come procedere.
La scadenza è abbastanza vicina e le modifiche toccherebbero gran parte del code-base, il livello della logica dell'app. Ristrutturare la base di codice esistente richiederebbe un po 'di riflessione pacifica e qualche codifica aggiuntiva. Ma il codice non è di tipo TDWTF, piuttosto è cresciuto oltre i requisiti originali e ha bisogno di nuovi abiti.
L'app è strongmente asincrona e utilizza più thread, quindi non è un tipo banale.
Qualcuno può dirmi qual è la regola generale quando devi decidere se usare la ruota premade o reinventarne una nuova? Quali sarebbero i criteri di accettazione per il nuovo codice?