А вот это искусство понять, что код начинает заболевать. Иногда достаточно 2-3 минут рефакторинга, чтоб закрыть слабое место надолго, а иногда проблема всплывает достаточно неожиданно и на ее приходится тратить значительные усилия. Ну и конечно, если запустить ситуацию на самотек, то ситуация будет печальна.
Отсюда правило: код должен писаться так, чтоб его было легко рефакторить. Также помогает понять что что-то не так написание подробной доки.