DRY – Don’t Repeat Yourself

Don't Repeat Yourself is principle helping to avoid repetition of the same information (same code produced multiple times).
Read more
Article

Don’t Repeat Yourself (DRY)


  • Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
  • Don’t Repeat Yourself is software development principle helping to avoid repetition of the same information (same code produced multiple times). Having the same code in multiple places makes maintainability much harder, as the changes need to be done in all occurrences.
  • Achieving DRY can be done by dividing code into smaller pieces of functionality, which can be reused easily.
  • DRY violations are called WET (Write Everything Twice/ We Enjoy Typing).

DRY usage exmaples

Similar posters

Minto Pyramid
Minto Pyramid The Minto Pyramid Principle, a communication framework, advocates for a top-down approach to convey messages effectively
Spotify Health Check
Spotify Health Check The Spotify Health Check is a workshop, where teams assess their project and collaboration using 11 dimensions.
Maslow's Hierarchy Of Needs
Maslow's Hierarchy Of Needs Maslow's hierarchy of needs links basic human needs and desires, emphasizing that survival needs must be met before higher needs.
CEDAR Feedback
CEDAR Feedback CEDAR is a structured feedback model providing coaching opportunities via repeated revisiting and readjusting of the feedback and the goals.
STATIK Kanban
STATIK Kanban The Systems Thinking Approach To Introducing Kanban (STATIK) is a repeatable way to start with Kanban resulting in continuous improvement.
Data Model Canvas
Data Model Canvas The Data Product Canvas is a framework for developing data products based organized into 10 blocks within 3 domain areas.
Kanban Practices
Kanban Practices 6 Kanban Practices: Visualize, Limit WIP, Manage Flow, Make policies explicit, Implement feedback loops, Improve collaboratively
Theory Of Constraints
Theory Of Constraints The Theory of constraints says the throughput of any system is limited by at least one constraint slowing it down.
Classes of Service (CoS)
Classes of Service (CoS) Classes of service (CoS) provide a transparent way of categorizing the incoming work items and ensuring they are properly prioritized and governed to lead to meeting customer expectations. They enable managing risk, priorities, and cost of delay. Expedite High-priority items that should be worked on as soon as possible. Expedite class work items have critical...
Seven wastes of software development
Seven wastes of software development Similar to what TPS identified as seven categories of waste in manufacturing, also software development has its own wastes.