Sono sempre stato scettico sulla riscrittura del codice di lavoro: il porting del codice non fa eccezione. Tuttavia, con l'avvento di TDD e test automatici è molto più ragionevole riscrivere e codice refactoring.
Qualcuno sa se esiste uno strumento TDD che può essere utilizzato per il porting del vecchio codice? Idealmente potresti fare quanto segue:
- scrivi i test delle unità indipendenti dalla lingua per il vecchio codice che passa (o fallisci se trovi bug!).
- Esegui test di unità sull'altro tuo codice base che falliscono.
- Scrivi il codice nella tua nuova lingua che supera i test senza guardare il vecchio codice.
L'alternativa sarebbe quella di suddividere il passaggio 1 in "Scrivi test di unità nella lingua 1" e "Porta test di unità nella lingua 2", il che aumenta in modo significativo lo sforzo richiesto ed è difficile da giustificare se il vecchio codice base si fermerà mantenuta dopo la porta (ovvero, non si ottiene il vantaggio dell'integrazione continua su questo codice).
EDIT: Vale la pena notare questa domanda su StackOverflow.