Code refactoring

In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. 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. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory.

Comment
enIn computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. 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. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory.
Has abstract
enIn computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. 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. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory. 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. Many development environments provide automated support for performing the mechanical aspects of these basic refactorings. If done well, code refactoring may help software developers discover and fix hidden or dormant 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 may thus introduce new bugs. 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 add 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
Hypernym
Process
Is primary topic of
Code refactoring
Label
enCode refactoring
Link from a Wikipage to an external page
zenodo.org/record/848931%7Cjournal=IEEE
refactoring.com/
c2.com/cgi/wiki%3FWhatIsRefactoring
Link from a Wikipage to another Wikipage
Abstraction (computer science)
Agile software development
Amelioration pattern
Android Studio
AppCode
Application discovery and understanding
Atomic commit
Bill Griswold
Category:Code refactoring
Category:Extreme programming
Category:Technology neologisms
Class (computer science)
Clone detection
Code review
CodeRush
Code smell
Computer code
Computer programming
Context menu
C Sharp (programming language)
Cyclomatic complexity
Database refactoring
Decomposition (computer science)
Design pattern (computer science)
Development environment (software development process)
DMS Software Reengineering Toolkit
Duplicate code
Eclipse (software)
Embarcadero Delphi
Extensibility
Extract class
Extreme programming
Fellow
Field encapsulation
Forth (programming language)
Fortran
Function (programming)
Functional requirement
Hardware description language
Hardware security module
Integrated development environment
IntelliJ IDEA
Java (programming language)
JavaScript
JDeveloper
Leo Brodie (programmer)
Maintainability
Martin Fowler (software engineer)
Method (computer science)
Modular programming
Monorepo
NetBeans
Non-functional requirement
Obfuscated code
Objective-C
Object model
Object-oriented programming
Photran
PHP
PhpStorm
Polymorphism (computer science)
Prefactoring
Program Dependence Graph
Programming language
Program transformation
PyCharm
PyDev
Python (programming language)
Qt Creator
Ralph Johnson (computer scientist)
Readability
Refactoring Browser
Repository (version control)
Resharper
Scientific method
Separation of concerns
Smalltalk
Software
Software architecture
Software bug
Software design
Software development process
Software intelligence
Software peer review
Source code
Subclass (computer science)
Superclass (computer science)
Swift (programming language)
Synopsys
Technical debt
Test-driven development
Text editor
Thinking Forth
Type generalization
Unit testing
VHDL-AMS
Visual Assist
Visual Studio
Vulnerability (computing)
WebStorm
William Opdyke
Wing IDE
Xcode
SameAs
4784343-3
Cải tiến mã nguồn
Code refactoring
Da5F
Kódrefaktorálás
Koodi refaktoreerimine
m.06g5h
Omstrukturering av kod
Pertvarkymas (programavimas)
Q116877
Refacció
Refactoren
Refactoring
Refactoring
Refactoring
Refactoring
Refactorización
Refactorización
Refactorizare de cod
Refaktorering
Refaktoriranje koda
Refaktorisasi kode
Refaktorointi
Refaktorování
Refaktoryzacja
Refatoração
Réusinage de code
Кодыг дахин факторлох
Преработка на код
Рефакторинг
Рефакторинг
Рефакторисање кода
إعادة هيكلة الكود
بازساخت کد
リファクタリング (プログラミング)
代码重构
리팩터링
Subject
Category:Code refactoring
Category:Extreme programming
Category:Technology neologisms
WasDerivedFrom
Code refactoring?oldid=1121557303&ns=0
WikiPageLength
24567
Wikipage page ID
25871
Wikipage revision ID
1121557303
WikiPageUsesTemplate
Template:'
Template:About-distinguish
Template:According to whom
Template:Authority control
Template:Cite book
Template:Cite journal
Template:Curlie
Template:More citations needed
Template:Page needed
Template:Quote
Template:Redirect
Template:Reflist
Template:Short description