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

Code smell

Index Code smell

In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. [1]

38 relations: Agile software development, Anti-pattern, Checkstyle, Class (computer programming), Code refactoring, Commit (version control), Computer program, Computer programming, Cyclomatic complexity, Data Clump (Code Smell), Design by contract, Design smell, Downcasting, Duplicate code, Feedback, FindBugs, God object, Heuristic (computer science), Inheritance (object-oriented programming), Java (programming language), Kent Beck, Liskov substitution principle, List of tools for static code analysis, Literal (computer programming), Martin Fowler, Method (computer programming), Method overriding, Naming convention (programming), PMD (software), Robert C. Martin, Shotgun surgery, Software architecture, Software bug, Software design pattern, Software rot, Source code, Technical debt, WikiWikiWeb.

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 smell and Agile software development · See more »

Anti-pattern

An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

New!!: Code smell and Anti-pattern · See more »

Checkstyle

Checkstyle is a static code analysis tool used in software development for checking if Java source code complies with coding rules.

New!!: Code smell and Checkstyle · 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 smell and Class (computer programming) · See more »

Code refactoring

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

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

Commit (version control)

In version control systems, a commit adds the latest changes to the source code to the repository, making these changes part of the head revision of the repository.

New!!: Code smell and Commit (version control) · 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 smell and Computer program · See more »

Computer programming

Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.

New!!: Code smell and Computer programming · See more »

Cyclomatic complexity

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

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

Data Clump (Code Smell)

In object-oriented programming, "data clump" is a name given to any group of variables which are passed around together (in a clump) throughout various parts of the program.

New!!: Code smell and Data Clump (Code Smell) · See more »

Design by contract

Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software.

New!!: Code smell and Design by contract · See more »

Design smell

In computer programming, design smells are "structures in the design that indicate violation of fundamental design principles and negatively impact design quality".

New!!: Code smell and Design smell · See more »

Downcasting

In class-based programming, downcasting or type refinement is the act of casting a reference of a base class to one of its derived classes.

New!!: Code smell and Downcasting · 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 smell and Duplicate code · See more »

Feedback

Feedback occurs when outputs of a system are routed back as inputs as part of a chain of cause-and-effect that forms a circuit or loop.

New!!: Code smell and Feedback · See more »

FindBugs

FindBugs is an open source static code analyser created by Bill Pugh and David Hovemeyer which detects possible bugs in Java programs.

New!!: Code smell and FindBugs · See more »

God object

In object-oriented programming, a God object is an object that knows too much or does too much.

New!!: Code smell and God object · See more »

Heuristic (computer science)

In computer science, artificial intelligence, and mathematical optimization, a heuristic (from Greek εὑρίσκω "I find, discover") is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.

New!!: Code smell and Heuristic (computer science) · 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 smell and Inheritance (object-oriented programming) · 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 smell and Java (programming language) · See more »

Kent Beck

Kent Beck (born 1961) is an American software engineer and the creator of extreme programming, a software development methodology that eschews rigid formal specification for a collaborative and iterative design process.

New!!: Code smell and Kent Beck · See more »

Liskov substitution principle

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of the program (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy.

New!!: Code smell and Liskov substitution principle · See more »

List of tools for static code analysis

This is a list of tools for static code analysis.

New!!: Code smell and List of tools for static code analysis · See more »

Literal (computer programming)

In computer science, a literal is a notation for representing a fixed value in source code.

New!!: Code smell and Literal (computer programming) · 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 smell 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 smell and Method (computer programming) · See more »

Method overriding

Method overriding, in object-oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes.

New!!: Code smell and Method overriding · See more »

Naming convention (programming)

In computer programming, a naming convention is a set of rules for choosing the character sequence to be used for identifiers which denote variables, types, functions, and other entities in source code and documentation.

New!!: Code smell and Naming convention (programming) · See more »

PMD (software)

PMD is an open source static Java source code analyzer that reports on issue found within application code.

New!!: Code smell and PMD (software) · See more »

Robert C. Martin

Robert Cecil Martin (colloquially known as Uncle Bob) is an American software engineer and author.

New!!: Code smell and Robert C. Martin · See more »

Shotgun surgery

Shotgun surgery is an antipattern in software development and occurs where a developer adds features to an application codebase which span a multiplicity of implementors or implementations in a single change.

New!!: Code smell and Shotgun surgery · 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 smell 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 smell 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 smell and Software design pattern · See more »

Software rot

Software rot, also known as code rot, bit rot, software erosion, software decay or software entropy is either a slow deterioration of software performance over time or its diminishing responsiveness that will eventually lead to software becoming faulty, unusable, or otherwise called "legacy" and in need of upgrade.

New!!: Code smell and Software rot · 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 smell and Source code · 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 smell and Technical debt · See more »

WikiWikiWeb

The WikiWikiWeb is the first-ever wiki, or user-editable website.

New!!: Code smell and WikiWikiWeb · See more »

Redirects here:

Bad smells, Code Smell, Code smells, Codesmell, Refused bequest, Software smell.

References

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

OutgoingIncoming
Hey! We are on Facebook now! »