Difference between revisions of "Code refactoring"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(First)
(No difference)

Revision as of 05:46, 18 August 2015

Code refactoring is the process of restructuring existing computer code -- changing the factoring -- without changing its external behavior.

Refactoring improves nonfunctional attributes of the software.

Advantages include:

  • Improved code readability
  • Reduced complexity

These can improve source code maintainability and create a more expressive internal architecture or object model to improve extensibility.

Typically, refactoring applies a series of standardised 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.

Many development environments provide automated support for performing the mechanical aspects of these basic refactorings.

If done extremely well, code refactoring may also resolve hidden, dormant, or undiscovered computer bugs or vulnerabilities in the system by simplifying the underlying logic and eliminating unnecessary levels of complexity.

If done poorly it may fail the requirement that external functionality not be changed, and/or introduce new bugs.

Quotations

By continuously improving the design of code, we make it easier and easier to work with. This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently adding new features. If you get into the hygienic habit of refactoring continuously, you'll find that it is easier to extend and maintain code.

—Joshua Kerievsky, Refactoring to Patterns

See also

External links