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