

Typically, refactoring applies a series of standardized basic micro-refactorings, each of which is (usually) a tiny change in a computer program's source code that either preserves the behavior of the software, or at least does not modify its conformance to functional requirements. Another potential goal for refactoring is improved performance software engineers face an ongoing challenge to write programs that perform faster or use less memory.

Potential advantages of refactoring may include improved code readability and reduced complexity these can improve the source code 's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. In computer programming and software design, code refactoring is the process of restructuring existing computer code-changing the factoring-without changing its external behavior. It is not to be confused with Rewrite (programming). This article is about a behaviour-preserving change.
