Это как национальные парки - всегда оставляйте это немного лучше, чем вы его нашли.
Для меня это означает, что всякий раз, когда я открываю код и мне приходится чесать голову, чтобы понять, что происходит, я должен что-то рефакторинг. Моя основная цель - это удобочитаемость и понимание. Обычно это просто переименование переменной для ясности. Иногда это метод извлечения -
Например (тривиально), если я сталкивался
temp = array[i];
array[i] = array[j];
array[j] = temp;
Я бы, вероятно, заменил это методом swap (i, j).
Компилятор, скорее всего, все равно его встроит, и swap () семантически расскажет всем, что происходит.
Как говорится, с моим собственным кодом (начиная с нуля) я склонен к рефакторингу для дизайна.
Мне часто легче работать в конкретном классе. Когда все будет сделано и отлажено, я потяну старый трюк Extract Interface.
Я оставлю это коллеге по рефакторингу для удобства чтения, так как я слишком близко к коду, чтобы заметить дыры. В конце концов, я знаю, что имел в виду.