Refactoring is great. I’m all for coding some tests and refactoring code one small step at a time until it’s perfect. However, sometimes it’s difficult to know when to stop. For example, consider the following snippet:
This is a companion discussion topic for the original entry at http://amir.rachum.com/blog/2012/04/14/refactor-for-equal-levels-of-abstraction/