I vote for the "sneak in refactoring" approach, which, in my opinion, should be done first and foremost. This is probably a bad idea for refactoring just for the sake of "clearing the code." This means that you are making changes without any real reason. Refactoring, by definition, modifies without the intention of fixing bugs or adding features. If you follow the KISS principle, any new function will require at least some refactoring, because you are not really thinking about how to make the most extensible system possible for the first time.
source
share