"[S]ystems decay from the bottom-up. And this, in turn, suggests the contrapositive: systems are restored from the bottom-up." Repetitive code is often caused by the wrong choice of data structures. Such code is better not refactored from the bottom-up, but first understood on a higher-level, and then rewritten. The level of the design mistake determines the level on which the re-design has to happen.
"[S]ystems decay from the bottom-up. And this, in turn, suggests the contrapositive: systems are restored from the bottom-up." Repetitive code is often caused by the wrong choice of data structures. Such code is better not refactored from the bottom-up, but first understood on a higher-level, and then rewritten. The level of the design mistake determines the level on which the re-design has to happen.