Next:
Obvious Behavior Is Unimplemented
Up:
Smells and Heuristics
Previous:
Dead Function
General
Subsections
Obvious Behavior Is Unimplemented
Overridden Safeties
Duplication
Code at Wrong Level of Abstraction
Base Classes Depending on Their Derivatives
Too Much Information
Vertical Separation
Inconsistency
Artificial Coupling
Feature Envy
Obscured Intent
Inappropriate Static
Lack of Explanatory Variables
Function Names Should Say What They Do
Understand the Algorithm
Make Logical Dependencies Physical
Follow Standard Specifications
Replace Magic Numbers with Named Constants
Encapsulate Conditionals
Hidden Temporal Couplings
Encapsulate Boundary Conditions
Functions Descending More Than One Level of Abstraction
Keep Configurable Data at High Levels
Avoid Transitive Navigation
bj 2019-09-22