<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi" -->

---
title: DRY Is the Most Misunderstood Rule in Programming
description: DRY (Don&#x27;t Repeat Yourself) is widely misunderstood as a rule about eliminating identical-looking code, but its original definition from The Pragmatic...
canonical: https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: DRY Is the Most Misunderstood Rule in Programming | daily.dev
og:description: DRY (Don&#x27;t Repeat Yourself) is widely misunderstood as a rule about eliminating identical-looking code, but its original definition from The Pragmatic...
og:url: https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi
og:image: https://api.daily.dev/og/posts/itHr21mpI.png
og:image:alt: DRY Is the Most Misunderstood Rule in Programming
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# DRY Is the Most Misunderstood Rule in Programming

**[Milan Jovanović](https://daily.dev/sources/milanjovanovic)** · 6 min read · 11 upvotes · 0 comments

## Summary

DRY (Don't Repeat Yourself) is widely misunderstood as a rule about eliminating identical-looking code, but its original definition from The Pragmatic Programmer is about knowledge, not syntax. Two pieces of code can look the same yet represent entirely different domain concepts — merging them creates wrong abstractions that are harder to undo than the duplication they replaced. The author illustrates this with address validation and shared Order types across module boundaries, showing how premature deduplication introduces hidden coupling. The recommended approach: wait for the third occurrence, then ask whether both copies encode the same fact and must change together. If yes, extract. If not, leave them separate. Good abstractions are discovered from concrete cases, not guessed upfront.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.milanjovanovic.tech/blog/dry-is-the-most-misunderstood-rule-in-programming>

## Similar posts on daily.dev

- [When to repeat yourself](https://daily.dev/posts/when-to-repeat-yourself-c67y3splj) · The Polymathic Engineer · 175 upvotes · 7 comments
- [DRY Principle in C\#: Don't Repeat Yourself - A Practical Guide With Real Code Examples](https://daily.dev/posts/dry-principle-in-c-don-t-repeat-yourself---a-practical-guide-with-real-code-examples-8agmhlwu5) · C\# Corner · 5 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#domain-driven-design](https://daily.dev/tags/domain-driven-design)

[View this post on daily.dev](https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"DRY Is the Most Misunderstood Rule in Programming","url":"https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi"},"datePublished":"2026-06-05T23:15:03.656Z","dateModified":"2026-06-05T23:15:31.317Z","description":"DRY (Don't Repeat Yourself) is widely misunderstood as a rule about eliminating identical-looking code, but its original definition from The Pragmatic...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6ca8965a783e5f6b9d933c1929b8bd31?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6ca8965a783e5f6b9d933c1929b8bd31?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Milan Jovanović","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Milan Jovanović","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/78d8abfb692746538410dee47f93e566","url":"https://daily.dev/sources/milanjovanovic"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/dry-is-the-most-misunderstood-rule-in-programming-ithr21mpi","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":11},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,domain-driven-design","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Milan Jovanović","item":"https://daily.dev/sources/milanjovanovic"},{"@type":"ListItem","position":3,"name":"DRY Is the Most Misunderstood Rule in Programming"}]}
```

