Quali sono alcune best practice per il refactoring e la ridenominazione negli ambienti del team? Ne ho parlato con alcuni scenari in mente:
Se una libreria a cui viene comunemente fatto riferimento viene refactored per introdurre una modifica sostanziale a qualsiasi libreria o progetto che fa riferimento a essa. Ad esempio, cambiare arbitrariamente il nome di un metodo.
Se i progetti vengono rinominati e le soluzioni devono essere ricostruite con riferimenti aggiornati ad esse.
Se la struttura del progetto viene modificata per essere "più organizzata" introducendo cartelle e spostando progetti o soluzioni esistenti in nuove posizioni.
Alcuni pensieri / domande aggiuntivi:
Cambiamenti come questo o il dolore che ne risulta sono indicativi di una struttura andata male?
Chi dovrebbe assumersi la responsabilità di correggere gli errori relativi a un cambiamento radicale? Se uno sviluppatore apporta una modifica sostanziale, dovrebbe essere responsabile di accedere ai progetti interessati e aggiornarli o dovrebbe avvisare gli altri sviluppatori e chiedere loro di cambiare le cose?
È qualcosa che può essere fatto su base programmata o è qualcosa che dovrebbe essere fatto il più frequentemente possibile? Se un refactoring viene rimandato troppo a lungo, è sempre più difficile riconciliarsi, ma allo stesso tempo in un giorno impiegando incrementi di 1 ora per correggere un build a causa dei cambiamenti che avvengono altrove.
È una questione di un processo di comunicazione formale o può essere organico?