Hacker News new | ask | show | jobs
by naradaellis 5534 days ago
A main reason that it is hard or impractical to refactor a part of an OO system is that you cannot reason about its side-effects on the rest of the system without scouring all of its source.

When you are guaranteed that a subsystem has no side effects, you can gut its internals and as long as the interface behaves the same - your system will behave the same.

edit: a _stateful_ OO system anyway.