Quali sono le migliori pratiche per il refactoring e la rinomina negli ambienti di squadra? Lo presento con alcuni scenari in mente:
-
Se una libreria a cui si fa comunemente riferimento viene refactored per introdurre una modifica di rottura a qualsiasi libreria o progetto che la fa riferimento. Per 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.
Alcune domande / domande aggiuntive:
-
Le modifiche di questo tipo o il dolore provocato indicano un'indicazione di struttura andata a male?
-
Chi dovrebbe assumersi la responsabilità di correggere gli errori relativi a un cambiamento di rottura? Se uno sviluppatore apporta una modifica alla rottura dovrebbe essere responsabile di andare nei progetti interessati e aggiornarli o dovrebbe avvisare altri sviluppatori e spingerli a cambiare le cose?
-
È qualcosa che può essere fatto su base pianificata o è qualcosa che dovrebbe essere fatto il più frequentemente possibile? Se un refactoring viene rimandato troppo a lungo, è sempre più difficile conciliare, ma allo stesso tempo in un giorno spendendo incrementi di 1 ora per fissare una build a causa di cambiamenti avvenuti altrove.
-
Si tratta di un processo di comunicazione formale o può essere organico?