---
description: “Don’t Repeat Yourself” – Đừng bao giờ lặp lại code.
---

# DRY

![](https://1722711354-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwNXdoUkfmcozr29fRrfb%2Fuploads%2FfJt6tHMw2DG4SAq0DCac%2Fsoftware-design-principle-dry.png?alt=media\&token=0b4635a9-a8f8-4408-9ace-6e072f1d944c)

Nguyên lý này được nhắc tới lần đầu trong cuốn sách The Pragmatic Programmer viết bởi Andy Hunt và _Dave Thomas_. Dennis Ritchie (tác giả của _The C Programming Language_) cũng tham gia vào việc cùng soạn thảo cuốn sách này.

Trong cuốn sách này đã nói rằng "mỗi một phần kiến thức phải độc lập, rõ ràng, có căn cứ đại diện cho một hệ thống". Nói cách khác bạn phải cố gắng duy trì hành vi của một chức năng trong hệ thống với một đoạn code duy nhất.

Khi nguyên tắc DRY không được tuân theo, điều này được gọi là những giải pháp WET, viết tắt của từ _Write Everything Twice_ hoặc _We Enjoy Typing_.

DRY trong lập trình thực sự có ích, đặc biệt trong những ứng dụng lớn, nơi mà code được bảo trì liên tục, được thay đổi và mở rộng bởi nhiều lập trình viên khác

Nhưng bạn cũng không nên lạm dụng DRY và thực hiện nó trong tất cả những dự án của bạn. Trong lập trình mọi nguyên tắc đều có ngoại lệ và trong một số trường hợp bạn có thể không tuân thủ nó.

### Nguồn tham khảo

{% embed url="https://www.codehub.com.vn/Nguyen-Ly-DRY-Dont-Repeat-Yourself" %}

{% embed url="https://viblo.asia/p/nguyen-tac-kiss-yagni-dry-trong-lap-trinh-vyDZOpnklwj" %}
