Sommario:
componente utilizzato per funzionare e ora no, la regressione è avvenuta più di 1 anno fa e non siamo sicuri di quando, ora sto considerando sostituire il componente rotto e scarsamente architettato con una libreria matura
Sfondo:
Sto lavorando a un'applicazione web che interagisce con un'API di terze parti per importare ed esportare i dati. Questa è una funzione opzionale, che verrebbe utilizzata al posto dell'input manuale dei dati. Due anni fa, ho implementato un sistema di autenticazione da zero che utilizza l'autenticazione di base (cioè generare l'intestazione http di autenticazione di base, includendola con le richieste). Ho quindi trascorso due anni in un'altra azienda, ma ora sono tornato e sto ancora lavorando alla stessa applicazione. Mentre ero via, qualcuno ha introdotto un errore di regressione da qualche parte nel modulo di autenticazione: ora non puoi collegarti, punto. Nada. Zip.
E non so quando è iniziato perché non ero qui - ma se ho scavato nei registri di commit potrei probabilmente avere un'idea approssimativa. Ad un certo punto qualcuno ha disabilitato la possibilità di connettersi all'API di terze parti perché non funzionava (sì, lo so ... ottima soluzione -_-), quindi potrei usarlo per avere un'idea approssimativa di quando è successo e possibilmente ottenere un vantaggio su dove è stato introdotto l'errore di regressione.
Che ora:
Durante l'analisi di questo, ho scoperto che esiste una libreria matura scritta per il nostro stack tecnologico per l'interazione specifica con questa API di terze parti. (A parte, supporta l'autenticazione di base e oauth, e vorremmo spostarci su oauth se possibile, quindi passare a questa libreria ha anche dei vantaggi collaterali.)
Il piano corrente è quello di sostituire il componente di autenticazione a mano (non funzionante) con la libreria, che potrebbe implicare una modifica dello schema del database e alcuni refactoring non banali.
La mia domanda:
è importante identificare il bug nel vecchio componente di autenticazione prima di iniziare a sostituirlo con la libreria?
Alcuni pensieri:
- perché perdere tempo a trovare il bug se stiamo per sostituire il componente?
- cosa succede se in qualche modo sostituire il componente di autenticazione non risolverà il bug - e se ho trovato il tempo per trovare il bug in primo luogo, avrei saputo che
Altri dettagli:
- non è necessario iniziare a utilizzare la libreria se il codice corrente funziona, anche se i vantaggi collaterali della libreria sono buoni
- il codice di autenticazione corrente è scarsamente progettato e difficile da mantenere