у меня бывало что я рефакторил так что потом не понимал как оно работает
у меня есть какой-то бзик, что вещи должны складываться в голове, тогда тебе не надо "понимать" как оно работает. Тоесть у тебя есть кусок кода -- у него есть какая-то "ментальная форма", его можно собрать из других кусков, из него можно собрать другие куски кода. От этой "формы" можно плясать строя большие блоки из маленьких, а маленькие из ещё меньших и тебе не надо думать на каждом этапе. Просто делаешь эти формочки из меньших фигурок, чтоб делали какое-то понятное действие и собираешь из них мелкими шагами большое приложение.
Кто-то называет это дизайном по контрактам, кто-то -- "нахуя столько методов, которые используются только один раз наплодил?"