Code refactoring: When and How