DRY Principle - "Don't Repeat Yourself"
🤔 Váºy DRY là gì nhỉ?
"DRY" là viết tắt của "Don't Repeat Yourself", má»™t nguyên tắc và ng trong láºp trình (và cả trong cuá»™c sống nữa đó!). Ã? tưởng rất Ä‘Æ¡n giản: "Ä?ừng lặp lại chÃnh mình."
Hãy tưởng tượng bạn viết má»™t công thức nấu ăn mà phải copy-paste từng bÆ°á»›c má»—i khi là m má»™t món ăn khác. Lỡ bạn muốn thêm muối, bạn sẽ phải cáºp nháºt từng bản copy. Ngán chÆ°a? Ä?ó chÃnh là "lặp lại" trong láºp trình!
DRY dÆ°á»›i góc nhìn láºp trình
Nguyên tắc DRY yêu cầu bạn cô láºp logic hoặc Ä‘oạn mã thÆ°á»?ng lặp lại và o má»™t vị trà duy nhất. Khi cần thay đổi, bạn chỉ việc sá»a má»™t nÆ¡i mà không cần tìm từng dòng để sá»a.
✔ Và dụ:
Bạn đang viết một ứng dụng quản lý thú cưng:
Trước khi áp dụng DRY:
public void feedDog() {
System.out.println("Feeding the dog");
}
public void feedCat() {
System.out.println("Feeding the cat");
}
public void feedParrot() {
System.out.println("Feeding the parrot");
}
Cứ thêm thú cÆ°ng là bạn phải viết thêm má»™t phÆ°Æ¡ng thức má»›i. Tháºt phiá»?n phức đúng không nà o? 🙈
public void feedAnimal(String animal) {
System.out.println("Feeding the " + animal);
}
Bây gi�, bạn chỉ cần g�i feedAnimal("dog")
, feedAnimal("cat")
mà không lo lặp lại đoạn code y chang nhau! Tiết kiệm th�i gian, giảm đau đầu. 🥳
DRY trong thực tế
DRY không chỉ giúp bạn viết code "ngầu" hơn mà còn cải thiện khả năng bảo trì và mở rộng ứng dụng.
✔ Một và dụ thực tế:
Giả sỠbạn xây dựng một website và phải sỠdụng cùng một đoạn HTML cho phần footer:
<div class="footer">
<p>Contact us at: congquynguyen@gmail.com</p>
</div>
TrÆ°á»›c DRY:
Bạn copy-paste Ä‘oạn HTML nà y và o má»?i trang. Lỡ email thay đổi? Hoặc đó là má»™t Ä‘oạn code dà i Æ¡i là dà i ? Bạn phải chỉnh sá»a từng trang. Quá tốn công!
Sau DRY:
SỠdụng một tệp template hoặc component tái sỠdụng:
<include src="footer.html"></include>
Bây giá»? chỉ cần sá»a má»™t tệp duy nhất khi có thay đổi. Ä?Æ¡n giản hÆ¡n nhiá»?u, đúng không?
Lợi Ãch khi áp dụng DRY
- Dá»… bảo trì hÆ¡n: Sá»a má»™t chá»— thay vì "sá»a toà n cầu".
- Code g�n gà ng: Giảm "sự lộn xộn" và tăng độ đ�c hiểu.
- �t lỗi hơn: Mỗi thay đổi đ�u được áp dụng nhất quán.
Thách thức khi thực hiện DRY
- Over-DRY: Ä?ừng cố DRY má»?i thứ! Ä?ôi khi, chia nhá»? quá mức sẽ là m code phức tạp và khó hiểu hÆ¡n.
- Lựa ch�n sai ngữ cảnh: DRY chỉ hiệu quả khi áp dụng đúng lúc, đúng chỗ. Nếu không, nó sẽ trở thà nh một "cơn ác mộng bảo trì."
Tóm lại
Nguyên tắc DRY là má»™t trong những "bà kÃp" giúp bạn trở thà nh láºp trình viên chuyên nghiệp. Tuy nhiên, hãy nhá»› rằng cân bằng là chìa khóa. Không phải lúc nà o DRY cÅ©ng là giải pháp tốt nhất, nhÆ°ng khi áp dụng đúng, nó sẽ giúp bạn tiết kiệm cả thá»?i gian và năng lượng! 💪
Top comments (0)