Everything about Code refactoring
Restructuring existing computer code without changing its external behavior
In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, or implementation of the software, 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. Despite the availability of metrics intended to assess such attributes, developers often do not rely on them when making refactoring decisions due to concerns about its practical usefulness. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Code refactoringA 5-minute orientation
- Skim a recent paper: Enhancing Code Quality Through Automated Refactoring Using Transformer-Based Language ModelsInfluential work since 2022
- Pick up a classic book: Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)The most-reprinted book on the subject
- Read the landmark paper: Multi-Criteria Code Refactoring Using Search-Based Software EngineeringCited 125 times
- Go sideways: Code smellA closely related topic
- Go sideways: Martin Fowler (software engineer)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Multi-Criteria Code Refactoring Using Search-Based Software Engineering
An approach to prioritize code smells for refactoring
Exploring ChatGPT’s code refactoring capabilities: An empirical study
Conflict‐aware optimal scheduling of prioritised code clone refactoring
Detecting and refactoring code smells in spreadsheet formulas
Recommending Refactoring Solutions Based on Traceability and Code Metrics
B-Refactoring: Automatic test code refactoring to improve dynamic analysis
Supporting requirements to code traceability through refactoring
🆕 Influential since 2022
Enhancing Code Quality Through Automated Refactoring Using Transformer-Based Language Models
Test code refactoring unveiled: where and how does it affect test code quality and effectiveness?
Semantic Code Refactoring for Abstract Data Types
Multilingual code refactoring detection based on deep learning
Comparative analysis of design pattern implementation validity in LLM-based code refactoring
📚 Books worth reading
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Agentic Coding PlaybookWes Halloran · 2026
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Code smell In computer programming, a code smell is any characteristic of source code that hints at a deeper problem. Determining what a code smell is and is not…
- Martin Fowler (software engineer) Martin Fowler (18 December 1963) is a British software developer, author and international public speaker on software development, specialising in object-orient…
- William Opdyke William F. "Bill" Opdyke (born c. 1958) is an American computer scientist and enterprise architect at JPMorgan Chase, known for his early work on code…
- Extreme programming Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements…
- Kent Beck Kent Beck (born 1961) is an American software engineer, author, and consultant best known for creating test-driven development (TDD), founding extreme…
- Design smell In computer programming, a design smell is a structure in a design that indicates a violation of fundamental design principles, and which can negatively…
- Interface (computing) In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information. The exchange can…
- Source code In computing, source code, or simply code or source, is human readable plain text that eventually results in controlling the behavior of a computer[citation…