Refactoring is a systematic process of improving code without creating new functionality that can transform a mess into clean code and simple design.

Refactoring Techniques

Refactoring techniques describe actual
techniques have
their pros and cons.
Therefore, each refactoring should be properly
motivated and
applied with

Code Smells

Indicators of problems that can be addressed during refactoring.
Code smells are
easy to spot and fix, but
they may be justsymptons
of a deeper problem
with code.

Refactoring Process

Performing refactoring step-by-step and running tests after each change are key elements of refactoring that make it predictable and safe.

Dirty Code

Dirty code is result of inexperience multiplied by tight deadlines, mismanagement, and nasty shortcuts taken during the development process.

Clean Code is code that is easy to read, understand and maintain. Clean Code makes software development predictable and increases the quality of a resulting product.