Nel corso del tempo, il mio team ha creato una classe centrale che gestisce un agglomerato di responsabilità e corre a oltre 8.000 linee, tutte scritte a mano, non generate automaticamente.Come si fa il refactoring di una classe che viene costantemente modificata?
Il mandato è scaduto. Dobbiamo rifattore della classe dei mostri. La maggior parte del piano consiste nel definire categorie di funzionalità nelle proprie classi con una relazione has-a con la classe monster.
Ciò significa che un sacco di riferimenti che attualmente leggere in questo modo:
var monster = new orMonster();
var timeToOpen = monster.OpeningTime.Subtract(DateTime.Now);
sarà presto leggere in questo modo:
var monster = new Monster();
var timeToOpen = monster.TimeKeeper.OpeningTime.Subtract(DateTime.Now);
La domanda è: come mai si coordinano un tale cambiamento ? I riferimenti ai rifiuti "orMonster" ogni singola classe aziendale. Alcuni metodi sono chiamati letteralmente in migliaia di punti nel codice. È garantito che, ogni volta che facciamo una tale possibilità, qualcun altro (probabilmente più qualcun'altro) nella squadra avrà il codice estratto che chiama la proprietà .OpeningTime
Come si coordinano cambi di così grande scala senza rettifica di produttività fermarsi?
Con Visual Studio, fare clic con il tasto destro del mouse su "Trova tutti i riferimenti ..." e sostituire. – core