Refactoring: The 5 main questions: Why? When? What? How? Who? | Hacker News Reader