Coding is like building a muddy bike, refactoring is like cleaning your dirty bike
by Security Dude
Trying to feel productive is always a challenge. Coders like to code. When we first code, most end up with the visualization of a dirty muddy bike. It works. The new bike you just coded up can get you from point A to B but its ugly. Its also possible that your brakes might not work because of the mud.
Then you spend time refactoring your code and next thing you know that ugly dirty bike is cool, shiny and hopefully safer to use. Refactoring and design patterns, necessary steps in building beautiful code. Now I have to learn about testing.