Design smell, the Glossary
In computer programming, a design smell is a structure in a design that indicates a violation of fundamental design principles, and which can negatively impact the project's quality.[1]
Table of Contents
9 relations: Anti-pattern, Circular dependency, Code smell, Computer programming, Duplicate code, Martin Fowler (software engineer), Software design, Software rot, Technical debt.
- Computer programming folklore
- Odor
- Software engineering folklore
Anti-pattern
An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.
See Design smell and Anti-pattern
Circular dependency
In software engineering, a circular dependency is a relation between two or more modules which either directly or indirectly depend on each other to function properly.
See Design smell and Circular dependency
Code smell
In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Design smell and code smell are computer programming folklore, Odor and software engineering folklore.
See Design smell and Code smell
Computer programming
Computer programming or coding is the composition of sequences of instructions, called programs, that computers can follow to perform tasks.
See Design smell and Computer programming
Duplicate code
In computer programming, duplicate code is 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.
See Design smell and Duplicate code
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-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.
See Design smell and Martin Fowler (software engineer)
Software design
Software design is the process of conceptualizing how a software system will work before it is implemented or modified.
See Design smell and Software design
Software rot
Software rot (bit rot, code rot, software erosion, software decay, or software entropy) is the degradation, deterioration, or loss of the use or performance of software over time. Design smell and software rot are software engineering folklore.
See Design smell and Software rot
Technical debt
In software development and other information technology fields, technical debt (also known as design debt or code debt) is the implied cost of future reworking because a solution prioritizes expedience over long-term design.
See Design smell and Technical debt
See also
Computer programming folklore
- "Hello, World!" program
- Bad Apple!!
- Benevolent dictator for life
- Boilerplate code
- Brogrammer
- Cargo cult programming
- Code smell
- Cowboy coding
- Design smell
- Deutsch limit
- Don't repeat yourself
- Duff's device
- Foobar
- Gotcha (programming)
- Graceful exit
- Greenspun's tenth rule
- Heisenbug
- Interface bloat
- Jargon File
- Magic (programming)
- Magic number (programming)
- Method stub
- Quine (computing)
- Rubber duck debugging
- Rule of three (C++ programming)
- Rule of three (computer programming)
- TPK algorithm
- The Story of Mel
- Write once, compile anywhere
- Write once, run anywhere
Odor
- Aroma of Tacoma
- Body odor
- Code smell
- Death smell
- Design smell
- Dog odor
- Maple syrup mystery smell
- New car smell
- Odor
- Odor detection threshold
- Odour of sanctity
- Odour pollution in Australia
- Oil of Saints
- Olfaction
- Olfactory heritage
- Osmophobia
- Ozone
- Perfumes
- Scent preservation
- Sea air
- Smell of freshly cut grass
- Smell rights
- Smell the Magic
- Smelling salts
- Smelly socks
- Tapinoma sessile
- Volatilome
- Who Me
Software engineering folklore
- Benevolent dictator for life
- Boilerplate code
- Cargo cult programming
- Code bloat
- Code smell
- Cowboy coding
- Dependency hell
- Design smell
- Deutsch limit
- Don't repeat yourself
- Experimental software engineering
- Fundamental theorem of software engineering
- Greenspun's tenth rule
- Heisenbug
- Interface bloat
- Jargon File
- Law of conservation of complexity
- Leaning toothpick syndrome
- Magic (programming)
- Magic number (programming)
- Ousterhout's dichotomy
- Programming in the large and programming in the small
- Reinventing the wheel
- Rule of least power
- Rule of three (C++ programming)
- Software rot
- Spaghetti code
- Turing tarpit
- Write once, compile anywhere
- Write once, run anywhere
- Zero one infinity rule