Molto del codice su cui ho lavorato di recente, sia a livello professionale (leggi: sul lavoro) che in altri ambiti (leggi: a casa, per amici / famiglia / etc, o NOT FOR WORK), è stato lavorato on, ridisegnato e ri-implementato più volte - laddove possibile / richiesto. Questo è stato nel tentativo di rendere le cose più piccole, più veloci, più efficienti, migliori e più vicine alle specifiche (quando i requisiti sono cambiati).
Un lato negativo di questo è che ora ho diverse basi di codice che hanno blocchi di metodo deprecati (e in alcuni punti oggetti piccoli). Sto cercando di rendere questo codice gestibile e facile da ripristinare i cambiamenti. Sto già utilizzando il software di controllo delle versioni in entrambe le istanze, ma mi chiedo se ci siano tecniche specifiche che sono state utilizzate da altri per mantenere i metodi sostituiti senza aumentare le dimensioni degli output compilati?
Al momento, sto semplicemente avvolgendo il vecchio codice in commenti multi linea in stile C.
Ecco un esempio di cosa intendo (stile C, codice psuedo):
void main ()
{
//Do some work
//Foo(); //Deprecated method call
Bar(); //New method
}
/***** Deprecated code *****
/// Summary of Method
void Foo()
{
//Do some work
}
***** Deprecated Code *****/
/// Summary of method
void Bar()
{
//Do some work
}
Ho aggiunto un esempio di stile C, semplicemente perché sono più sicuro dei linguaggi in stile C. Sto cercando di mettere questa domanda come indipendente dal linguaggio (da cui il tag), e preferirei risposte agnostiche linguistiche, se possibile - dal momento che vedo questa domanda come una questione più tecnica e di design.
Mi piacerebbe mantenere i vecchi metodi e blocchi per una serie di motivi, tra cui la possibilità di ripristinare rapidamente un metodo di lavoro più vecchio in caso di fallimento di alcuni test o di circostanze impreviste.
C'è un modo migliore per farlo (i commenti multi linea)? Ci sono strumenti che mi permetteranno di memorizzare questi vecchi metodi in file separati? È una buona idea?