Il titolo dice tutto. La mia azienda sta riutilizzando un progetto firmware legacy per un dispositivo microcontrollore, scritto completamente in chiaro C.
Ci sono parti che sono ovviamente sbagliate e che necessitano di modifiche e che provengono da uno sfondo C # / TDD Non mi piace l'idea di refactoring casuale senza prove per assicurarci che la funzionalità rimanga invariata. Inoltre, ho visto che è difficile trovare bug introdotti in molte occasioni attraverso minimi cambiamenti (che è qualcosa che credo sarebbe stato corretto se fosse stato usato il test di regressione). È necessario prestare molta attenzione per evitare questi errori: è difficile rintracciare un gruppo di globalità attorno al codice.
Per riassumere:
- Come si aggiungono i test unitari al codice esistente strettamente accoppiato prima del refactoring?
- Quali strumenti consigliate? (meno importante, ma comunque bello sapere)
Non sono direttamente coinvolto nella scrittura di questo codice (la mia responsabilità è un'app che interagirà con il dispositivo in vari modi), ma sarebbe male se venissero lasciati dei buoni principi di programmazione se ci fosse la possibilità che potessero essere usati .