Most code will degrade in quality over time. Each addition and change will destroy a bit of the original design, which, itself, may not have been well conceived. Refactoring is a set of techniques, procedures and steps to keep your source code as clean as possible. Clean code, on the other hand, describes how well-written code should look in ideal conditions. In a pragmatic sense, all refactoring represents simple steps toward clean code.
I invite you to join me in this course, and learn the basics of refactoring and clean code.