# Aloha Ruby Conf 2012 Refactoring from Good to Great by Ben Orenstein - YouTube - URL: <https://www.youtube.com/watch?v=DC-pQPq0acs> ![](https://www.youtube.com/watch?v=DC-pQPq0acs>) - Description: Most developers know enough about refactoring to write code that's pretty good. They create short methods, and classes with one responsibility. They're also ... - Type: #link - Highlights - responsbilities - SINGLE RESPONSIBILITY PRINCIPLE - less coupled - tell don’t ask internals - Group for cohere, do they make sense individually (start date, end\_date) - Null contact, polymorphism - Abstract to make things easier to use , like all things that deal with PositionManager are in a separate class - When to refactor - Refactor in such a way that make it makes it easy to do the change you want to do - What do refactor - GOD objects - wc -l \* | sort - Churn - Bugs