Get it on Google Play
New! Download Unionpedia on your Android™ device!
Faster access than browser!

Code refactoring

Index Code refactoring

Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. [1]

82 relations: Abstraction (computer science), Agile software development, Amelioration pattern, Android Studio, AppCode, Bill Griswold, Class (computer programming), Class browser, Code review, CodeRush, Computer program, Cyclomatic complexity, Database refactoring, Decomposition (computer science), Delphi (IDE), Deployment environment, Design pattern, DMS Software Reengineering Toolkit, Duplicate code, Eclipse (software), Extensibility, Extract class, Extreme programming, Fellow, Field encapsulation, Forth (programming language), Fortran, Functional requirement, Hardware description language, Inheritance (object-oriented programming), Integrated development environment, IntelliJ IDEA, Java (programming language), JavaScript, JDeveloper, JetBrains, Maintainability, Martin Fowler, Method (computer programming), Microsoft Visual Studio, Modular programming, NetBeans, Non-functional requirement, Obfuscation (software), Object model, Object-oriented programming, Objective-C, Photran, Polymorphism (computer science), Prefactoring, ..., Program transformation, Programming language, PyCharm, PyDev, Python (programming language), Ralph Johnson (computer scientist), Readability, Rename method, Scientific method, Separation of concerns, Smalltalk, Software, Software architecture, Software bug, Software design pattern, Software development process, Software peer review, Source code, Subroutine, Swift (programming language), Synopsys, Technical debt, Test-driven development, Text editor, Type generalization, Unit testing, VHDL-AMS, Visual Assist, Vulnerability (computing), William Opdyke, Wing IDE, Xcode. Expand index (32 more) »

Abstraction (computer science)

In software engineering and computer science, abstraction is.

New!!: Code refactoring and Abstraction (computer science) · See more »

Agile software development

Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).

New!!: Code refactoring and Agile software development · See more »

Amelioration pattern

In software engineering, an amelioration pattern is an anti-pattern formed when an existing software design pattern was edited (i.e. rearranged, added or deleted) to better suit a particular problem so as to achieve some further effect or behavior.

New!!: Code refactoring and Amelioration pattern · See more »

Android Studio

Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development.

New!!: Code refactoring and Android Studio · See more »


AppCode is an integrated development environment (IDE) for Swift, Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform.

New!!: Code refactoring and AppCode · See more »

Bill Griswold

William G. Griswold is a professor of Computer Science and Engineering at the University of California, San Diego.

New!!: Code refactoring and Bill Griswold · See more »

Class (computer programming)

In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).

New!!: Code refactoring and Class (computer programming) · See more »

Class browser

A class browser is a feature of an integrated development environment (IDE) that allows the programmer to browse, navigate, or visualize the structure of object-oriented programming code.

New!!: Code refactoring and Class browser · See more »

Code review

Code review is systematic examination (sometimes referred to as peer review) of computer source code.

New!!: Code refactoring and Code review · See more »


CodeRush Classic is a refactoring and productivity plugin by DevExpress that extends native functionality of Microsoft Visual Studio|Visual Studio.NET 2003, 2005, 2008, 2010, 2013, and 2015.

New!!: Code refactoring and CodeRush · See more »

Computer program

A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.

New!!: Code refactoring and Computer program · See more »

Cyclomatic complexity

Cyclomatic complexity is a software metric, used to indicate the complexity of a program.

New!!: Code refactoring and Cyclomatic complexity · See more »

Database refactoring

A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics.

New!!: Code refactoring and Database refactoring · See more »

Decomposition (computer science)

Decomposition in computer science, also known as factoring, is breaking a complex problem or system into parts that are easier to conceive, understand, program, and maintain.

New!!: Code refactoring and Decomposition (computer science) · See more »

Delphi (IDE)

Delphi is an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, developed by Embarcadero Technologies.

New!!: Code refactoring and Delphi (IDE) · See more »

Deployment environment

In software deployment, an environment or tier is a computer system in which a computer program or software component is deployed and executed.

New!!: Code refactoring and Deployment environment · See more »

Design pattern

A design pattern is the re-usable form of a solution to a design problem.

New!!: Code refactoring and Design pattern · See more »

DMS Software Reengineering Toolkit

The DMS Software Reengineering Toolkit is a proprietary set of program transformation tools available for automating custom source program analysis, modification, translation or generation of software systems for arbitrary mixtures of source languages for large scale software systems.

New!!: Code refactoring and DMS Software Reengineering Toolkit · See more »

Duplicate code

Duplicate code is a computer programming term for a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity.

New!!: Code refactoring and Duplicate code · See more »

Eclipse (software)

Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE.

New!!: Code refactoring and Eclipse (software) · See more »


Extensibility is a software engineering and systems design principle where the implementation takes future growth into consideration.

New!!: Code refactoring and Extensibility · See more »

Extract class

In software engineering, the Extract Class refactoring is applied when a class becomes overweight with too many methods and its purpose becomes unclear.

New!!: Code refactoring and Extract class · See more »

Extreme programming

Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.

New!!: Code refactoring and Extreme programming · See more »


A fellow is a member of a group (or fellowship) that work together in pursuing mutual knowledge or practice.

New!!: Code refactoring and Fellow · See more »

Field encapsulation

In computer programming, field encapsulation involves providing methods that can be used to read from or write to the field rather than accessing the field directly.

New!!: Code refactoring and Field encapsulation · See more »

Forth (programming language)

Forth is an imperative stack-based computer programming language and environment originally designed by Charles "Chuck" Moore.

New!!: Code refactoring and Forth (programming language) · See more »


Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

New!!: Code refactoring and Fortran · See more »

Functional requirement

In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a specification of behavior between outputs and inputs.

New!!: Code refactoring and Functional requirement · See more »

Hardware description language

In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits.

New!!: Code refactoring and Hardware description language · See more »

Inheritance (object-oriented programming)

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototypal inheritance) or class (class-based inheritance), retaining the same implementation.

New!!: Code refactoring and Inheritance (object-oriented programming) · See more »

Integrated development environment

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.

New!!: Code refactoring and Integrated development environment · See more »

IntelliJ IDEA

IntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software.

New!!: Code refactoring and IntelliJ IDEA · See more »

Java (programming language)

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.

New!!: Code refactoring and Java (programming language) · See more »


JavaScript, often abbreviated as JS, is a high-level, interpreted programming language.

New!!: Code refactoring and JavaScript · See more »


JDeveloper is a freeware IDE supplied by Oracle Corporation.

New!!: Code refactoring and JDeveloper · See more »


JetBrains s.r.o. (formerly IntelliJ Software s.r.o.) is a software development company whose tools are targeted towards software developers and project managers.

New!!: Code refactoring and JetBrains · See more »


In engineering, maintainability is the ease with which a product can be maintained in order to.

New!!: Code refactoring and Maintainability · See more »

Martin Fowler

Martin Fowler (born 1963) is a British software developer, author and international public speaker on software development, specializing in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

New!!: Code refactoring and Martin Fowler · See more »

Method (computer programming)

A method in object-oriented programming (OOP) is a procedure associated with a message and an object.

New!!: Code refactoring and Method (computer programming) · See more »

Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft.

New!!: Code refactoring and Microsoft Visual Studio · See more »

Modular programming

Modular programming is a software design technique that emphasizes separating the functionality of a programme into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

New!!: Code refactoring and Modular programming · See more »


NetBeans is an integrated development environment (IDE) for Java.

New!!: Code refactoring and NetBeans · See more »

Non-functional requirement

In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.

New!!: Code refactoring and Non-functional requirement · See more »

Obfuscation (software)

In software development, obfuscation is the deliberate act of creating source or machine code that is difficult for humans to understand.

New!!: Code refactoring and Obfuscation (software) · See more »

Object model

In computing, object model has two related but distinct meanings.

New!!: Code refactoring and Object model · See more »

Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").

New!!: Code refactoring and Object-oriented programming · See more »


Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.

New!!: Code refactoring and Objective-C · See more »


Photran is an Integrated Development Environment (IDE) for FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 and Fortran 2008 based on Eclipse and the CDT.

New!!: Code refactoring and Photran · See more »

Polymorphism (computer science)

In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a single interface to entities of different types.

New!!: Code refactoring and Polymorphism (computer science) · See more »


Prefactoring is the application of experience to the creation of new software systems.

New!!: Code refactoring and Prefactoring · See more »

Program transformation

A program transformation is any operation that takes a computer program and generates another program.

New!!: Code refactoring and Program transformation · See more »

Programming language

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.

New!!: Code refactoring and Programming language · See more »


PyCharm is an integrated development environment (IDE) used in computer programming, specifically for the Python language.

New!!: Code refactoring and PyCharm · See more »


PyDev is a third-party plug-in for Eclipse.

New!!: Code refactoring and PyDev · See more »

Python (programming language)

Python is an interpreted high-level programming language for general-purpose programming.

New!!: Code refactoring and Python (programming language) · See more »

Ralph Johnson (computer scientist)

Ralph E. Johnson is a Research Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign.

New!!: Code refactoring and Ralph Johnson (computer scientist) · See more »


Readability is the ease with which a reader can understand a written text.

New!!: Code refactoring and Readability · See more »

Rename method

Rename Method is a refactoring that changes a name of a method into a new one, that better reveals its purpose.

New!!: Code refactoring and Rename method · See more »

Scientific method

Scientific method is an empirical method of knowledge acquisition, which has characterized the development of natural science since at least the 17th century, involving careful observation, which includes rigorous skepticism about what one observes, given that cognitive assumptions about how the world works influence how one interprets a percept; formulating hypotheses, via induction, based on such observations; experimental testing and measurement of deductions drawn from the hypotheses; and refinement (or elimination) of the hypotheses based on the experimental findings.

New!!: Code refactoring and Scientific method · See more »

Separation of concerns

In computer science, separation of concerns (SoC) is a design principle for separating a computer program into distinct sections, such that each section addresses a separate concern.

New!!: Code refactoring and Separation of concerns · See more »


Smalltalk is an object-oriented, dynamically typed, reflective programming language.

New!!: Code refactoring and Smalltalk · See more »


Computer software, or simply software, is a generic term that refers to a collection of data or computer instructions that tell the computer how to work, in contrast to the physical hardware from which the system is built, that actually performs the work.

New!!: Code refactoring and Software · See more »

Software architecture

Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.

New!!: Code refactoring and Software architecture · See more »

Software bug

A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.

New!!: Code refactoring and Software bug · See more »

Software design pattern

In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design.

New!!: Code refactoring and Software design pattern · See more »

Software development process

In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management.

New!!: Code refactoring and Software development process · See more »

Software peer review

In software development, peer review is a type of software review in which a work product (document, code, or other) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality.

New!!: Code refactoring and Software peer review · See more »

Source code

In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.

New!!: Code refactoring and Source code · See more »


In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.

New!!: Code refactoring and Subroutine · See more »

Swift (programming language)

Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.

New!!: Code refactoring and Swift (programming language) · See more »


Synopsys, Inc., an American company, is the leading company by sales in the Electronic Design Automation industry.

New!!: Code refactoring and Synopsys · See more »

Technical debt

Technical debt (also known as design debt or code debt) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.

New!!: Code refactoring and Technical debt · See more »

Test-driven development

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.

New!!: Code refactoring and Test-driven development · See more »

Text editor

A text editor is a type of computer program that edits plain text.

New!!: Code refactoring and Text editor · See more »

Type generalization

Type generalization is a technique commonly used in refactoring.

New!!: Code refactoring and Type generalization · See more »

Unit testing

In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.

New!!: Code refactoring and Unit testing · See more »


VHDL-AMS is a derivative of the hardware description language VHDL (IEEE standard 1076-1993).

New!!: Code refactoring and VHDL-AMS · See more »

Visual Assist

Visual Assist is a plugin for Microsoft Visual Studio developed by Whole Tomato Software.

New!!: Code refactoring and Visual Assist · See more »

Vulnerability (computing)

In computer security, a vulnerability is a weakness which can be exploited by a Threat Actor, such as an attacker, to perform unauthorized actions within a computer system.

New!!: Code refactoring and Vulnerability (computing) · See more »

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 refactoring.

New!!: Code refactoring and William Opdyke · See more »

Wing IDE

The Wing is an integrated development environment (IDE) from Wingware that is designed specifically for the programming language Python, to reduce development and debugging time, coding errors, and make it easier to understand and navigate Python code.

New!!: Code refactoring and Wing IDE · See more »


Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS, and tvOS.

New!!: Code refactoring and Xcode · See more »

Redirects here:

Automated code refactoring, Automated refactoring, Automatic refactoring, Code Grooming, Code Refactoring, Code refactor, Extract Method, Hardware refactoring, Redesign (software), Reengineering (software), Refactor, Refactor code, Refactored, Refactored solutions, Refactoring, Refactorings.


[1] https://en.wikipedia.org/wiki/Code_refactoring

Hey! We are on Facebook now! »