The problem with this approach is that there are often subtle bugs hiding in the ugly code. I've broken production code when refactoring (once - I blame the stupid Java getters/setters convention), but I've also fixed e.g. DST bugs before they happened.