Quelles sont les meilleures pratiques de refactorisation et de changement de nom dans les environnements d'équipe? Je soulève ceci avec quelques scénarios à l'esprit:
Si une bibliothèque qui est généralement référencée est refactorisée pour introduire un changement de rupture dans une bibliothèque ou un projet qui la référence. Par exemple, changer arbitrairement le nom d'une méthode.
Si les projets sont renommés et que les solutions doivent être reconstruites avec des références mises à jour.
Si la structure du projet est modifiée pour être «plus organisée» en introduisant des dossiers et en déplaçant les projets ou solutions existants vers de nouveaux emplacements.
Quelques réflexions / questions supplémentaires:
Des changements comme celui-ci ou la douleur qui en résulte devraient-ils indiquer que la structure a mal tourné?
Qui devrait prendre la responsabilité de corriger les erreurs liées à un changement de rupture? Si un développeur apporte un changement de rupture, devrait-il être responsable de l’exploitation des projets concernés et de leur mise à jour ou devrait-il alerter d’autres développeurs et les inciter à changer les choses?
Est-ce quelque chose qui peut être fait sur une base programmée ou est-ce quelque chose qui devrait être fait aussi souvent que possible? Si un refactoring est reporté trop longtemps, il est de plus en plus difficile de le réconcilier, mais en même temps, au cours d'une journée, passer des incréments d'une heure à réparer un build en raison de changements qui se produisent ailleurs.
S'agit-il d'un processus de communication formel ou peut-il être organique?