DRY principle
E97054
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
Aliases (1)
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
software development principle
→
software engineering guideline → |
| abbreviation |
DRY
→
|
| aimsTo |
improve consistency
→
improve maintainability → reduce errors → simplify changes → |
| appliesTo |
build scripts
→
configuration management → database schemas → documentation → source code → test cases → |
| canBeViolatedBy |
copy-paste programming
→
duplicated business rules → duplicated configuration values → |
| canLeadTo |
over-abstraction if misapplied
→
|
| contrastedWith |
WET code
→
shotgun surgery → |
| encourages |
abstraction
→
centralizing business logic → centralizing configuration → centralizing validation rules → modular design → reuse of code → single source of truth → |
| focusesOn |
reducing duplication of code
→
reducing duplication of data → reducing duplication of logic → |
| fullName |
Don’t Repeat Yourself
→
|
| helpsWith |
avoiding divergence of duplicated logic
→
improving readability → improving testability → reducing bug surface area → reducing maintenance cost → |
| isMentionedIn |
software engineering literature
→
|
| isUsedIn |
API design
→
functional programming → object-oriented programming → procedural programming → web application development → |
| originatedIn |
software engineering community
→
|
| relatedTo |
KISS principle
→
Single Responsibility Principle → YAGNI principle → code reuse → refactoring → |
| supports |
clean architecture
→
domain-driven design → layered architecture → |
Referenced by (3)
| Subject (surface form when different) | Predicate |
|---|---|
|
Django
→
|
designGoal |
|
DRY principle
("Don’t Repeat Yourself")
→
|
fullName |
|
The Pragmatic Programmer
→
|
hasConcept |