Когда вы будете готовы читать книги на эту тему, я рекомендую Майклу Фезеру " Эффективно работать с устаревшим кодом ". ( Добавлено автором: также может пригодиться классическая книга Фаулера " Refactoring " - и веб-сайт Refactoring . )
Он говорит об определении характеристик кода, над которым вы работаете, прежде чем вносить изменения, и о том, что он называет рефакторингом нуля. Это означает, что нужно найти характеристики кода, а затем отбросить результаты.
То, что вы делаете, использует компилятор в качестве авто-теста. Он проверит, что ваш код компилируется, но не изменится ли поведение из-за вашего рефакторинга или каких-либо побочных эффектов.
Учтите это
class myClass {
void megaMethod()
{
int x,y,z;
//lots of lines of code
z = mysideEffect(x)+y;
//lots more lines of code
a = b + c;
}
}
Вы можете изменить рефакторинг надстройки
class myClass {
void megaMethod()
{
int a,b,c,x,y,z;
//lots of lines of code
z = addition(x,y);
//lots more lines of code
a = addition(b,c);
}
int addition(int a, b)
{
return mysideaffect(a)+b;
}
}
и это будет работать, но второе дополнение будет неправильным, так как оно вызывает метод. Необходимы дальнейшие тесты, кроме компиляции.