{"id":29399,"date":"2026-09-16T12:30:00","date_gmt":"2026-09-16T05:30:00","guid":{"rendered":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/?p=29399"},"modified":"2026-09-16T17:20:04","modified_gmt":"2026-09-16T10:20:04","slug":"nguyen-tac-dry-trong-lap-trinh-va-cong-viec","status":"publish","type":"post","link":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/goc-ky-nang\/nguyen-tac-dry-trong-lap-trinh-va-cong-viec","title":{"rendered":"Nguy\u00ean t\u1eafc DRY trong l\u1eadp tr\u00ecnh v\u00e0 c\u00f4ng vi\u1ec7c: hi\u1ec3u \u0111\u00fang \u0111\u1ec3 kh\u00f4ng l\u1ea1m d\u1ee5ng"},"content":{"rendered":"<p>G\u1ea7n nh\u01b0 l\u1eadp tr\u00ecnh vi\u00ean (Developer) n\u00e0o c\u0169ng nghe c\u00e2u &#8220;\u0111\u1eebng l\u1eb7p l\u1ea1i ch\u00ednh m\u00ecnh&#8221; t\u1eeb nh\u1eefng ng\u00e0y \u0111\u1ea7u h\u1ecdc ngh\u1ec1. Nh\u01b0ng <strong>nguy\u00ean t\u1eafc DRY<\/strong> b\u1ecb r\u00fat g\u1ecdn th\u00e0nh kh\u1ea9u hi\u1ec7u ch\u1ed1ng copy-paste \u0111\u00e3 l\u00e0m m\u1ea5t ph\u1ea7n quan tr\u1ecdng nh\u1ea5t c\u1ee7a n\u00f3, th\u1eadm ch\u00ed khi\u1ebfn nhi\u1ec1u \u0111o\u1ea1n m\u00e3 tr\u1edf n\u00ean kh\u00f3 s\u1eeda h\u01a1n. B\u00e0i vi\u1ebft tr\u1ea3 l\u1ea1i ph\u00e1t bi\u1ec3u g\u1ed1c v\u00e0 ch\u1ec9 ra ranh gi\u1edbi n\u00ean d\u1eebng.<\/p>\n<p style=\"text-align:center\"><img decoding=\"async\" src=\"https:\/\/cl-wpml.careerlink.vn\/cam-nang-viec-lam\/wp-content\/uploads\/2026\/09\/14135127\/a-nguyen-tac-dry-1.png\" alt=\"nguy\u00ean t\u1eafc DRY trong l\u1eadp tr\u00ecnh v\u00e0 c\u00f4ng vi\u1ec7c\" style=\"max-width:100%;height:auto;\" \/><\/p>\n<div style=\"background:#e3f2fd;border-left:4px solid #1565c0;padding:15px 20px;margin:20px 0;border-radius:4px\">\n<p><strong>T\u1ed5ng quan nhanh<\/strong><\/p>\n<p>\u2013 Ph\u00e1t bi\u1ec3u g\u1ed1c n\u00f3i v\u1ec1 tri th\u1ee9c trong h\u1ec7 th\u1ed1ng, kh\u00f4ng n\u00f3i v\u1ec1 nh\u1eefng d\u00f2ng ch\u1eef gi\u1ed1ng nhau.<\/p>\n<p>\u2013 Hai \u0111o\u1ea1n m\u00e3 tr\u00f9ng nhau do t\u00ecnh c\u1edd m\u00e0 g\u1ed9p l\u1ea1i l\u00e0 \u0111ang t\u1ea1o ra m\u1ed9t r\u00e0ng bu\u1ed9c sai.<\/p>\n<p>\u2013 Quy t\u1eafc s\u1ed1 ba gi\u00fap b\u1ea1n c\u00f3 \u0111i\u1ec3m d\u1eebng thay v\u00ec g\u1ed9p ngay t\u1eeb l\u1ea7n l\u1eb7p th\u1ee9 hai.<\/p>\n<p>\u2013 Ngo\u00e0i code, nguy\u00ean t\u1eafc DRY \u00e1p d\u1ee5ng cho s\u1ed1 li\u1ec7u, bi\u1ec3u m\u1eabu v\u00e0 quy tr\u00ecnh n\u1ed9i b\u1ed9.<\/p>\n<\/div>\n<h2>1. Nguy\u00ean t\u1eafc DRY l\u00e0 g\u00ec theo ph\u00e1t bi\u1ec3u g\u1ed1c<\/h2>\n<p>DRY vi\u1ebft t\u1eaft c\u1ee7a Don&#8217;t Repeat Yourself, xu\u1ea5t hi\u1ec7n trong cu\u1ed1n The Pragmatic Programmer do Andy Hunt v\u00e0 Dave Thomas vi\u1ebft, xu\u1ea5t b\u1ea3n n\u0103m 1999. Ph\u00e1t bi\u1ec3u g\u1ed1c c\u1ee7a hai t\u00e1c gi\u1ea3 l\u00e0: m\u1ed7i m\u1ea9u tri th\u1ee9c ph\u1ea3i c\u00f3 m\u1ed9t bi\u1ec3u di\u1ec5n duy nh\u1ea5t, r\u00f5 r\u00e0ng v\u00e0 c\u00f3 th\u1ea9m quy\u1ec1n trong h\u1ec7 th\u1ed1ng. \u0110\u1ecdc k\u1ef9 s\u1ebd th\u1ea5y c\u00e2u n\u00e0y kh\u00f4ng h\u1ec1 nh\u1eafc t\u1edbi k\u00fd t\u1ef1, d\u00f2ng l\u1ec7nh hay thao t\u00e1c sao ch\u00e9p, m\u00e0 nh\u1eafc t\u1edbi tri th\u1ee9c v\u00e0 t\u00ednh th\u1ea9m quy\u1ec1n c\u1ee7a n\u01a1i l\u01b0u gi\u1eef n\u00f3.<\/p>\n<p>Tri th\u1ee9c \u1edf \u0111\u00e2y l\u00e0 m\u1ed9t quy t\u1eafc nghi\u1ec7p v\u1ee5, m\u1ed9t c\u00f4ng th\u1ee9c t\u00ednh hay m\u1ed9t c\u1ea5u h\u00ecnh. Khi c\u00f9ng m\u1ed9t quy t\u1eafc t\u1ed3n t\u1ea1i \u1edf ba n\u01a1i, ng\u01b0\u1eddi s\u1eeda ph\u1ea3i nh\u1edb c\u1ea3 ba, v\u00e0 sai s\u00f3t th\u01b0\u1eddng xu\u1ea5t hi\u1ec7n \u1edf l\u1ea7n s\u1eeda th\u1ee9 hai ch\u1ee9 kh\u00f4ng ph\u1ea3i l\u1ea7n \u0111\u1ea7u. Chi ph\u00ed th\u1eadt n\u1eb1m \u1edf kh\u00e2u b\u1ea3o tr\u00ec, kh\u00f4ng n\u1eb1m \u1edf s\u1ed1 d\u00f2ng m\u00e3 b\u1ea1n g\u00f5.<\/p>\n<h2>2. DRY n\u00f3i v\u1ec1 tri th\u1ee9c, kh\u00f4ng ph\u1ea3i v\u1ec1 c\u00e1c \u0111o\u1ea1n m\u00e3 tr\u00f4ng gi\u1ed1ng nhau<\/h2>\n<p>\u0110\u00e2y l\u00e0 ch\u1ed7 nguy\u00ean t\u1eafc DRY hay b\u1ecb hi\u1ec3u ch\u1ec7ch. Hai h\u00e0m c\u00f3 th\u1ec3 gi\u1ed1ng nhau t\u1edbi t\u1eebng d\u00f2ng nh\u01b0ng ph\u1ee5c v\u1ee5 hai nghi\u1ec7p v\u1ee5 \u0111\u1ed9c l\u1eadp, ch\u1eb3ng h\u1ea1n c\u00e1ch t\u00ednh ph\u1ee5 c\u1ea5p \u0111i l\u1ea1i v\u00e0 c\u00e1ch t\u00ednh ph\u00ed giao h\u00e0ng t\u00ecnh c\u1edd c\u00f9ng nh\u00e2n v\u1edbi m\u1ed9t h\u1ec7 s\u1ed1. G\u1ed9p ch\u00fang th\u00e0nh m\u1ed9t h\u00e0m d\u00f9ng chung ngh\u0129a l\u00e0 b\u1ea1n tuy\u00ean b\u1ed1 hai nghi\u1ec7p v\u1ee5 \u1ea5y ph\u1ea3i thay \u0111\u1ed5i c\u00f9ng nhau m\u00e3i m\u00e3i. \u0110\u1ebfn ng\u00e0y ph\u00f2ng nh\u00e2n s\u1ef1 \u0111\u1ed5i c\u00e1ch t\u00ednh ph\u1ee5 c\u1ea5p, ng\u01b0\u1eddi s\u1eeda ph\u1ea3i th\u00eam tham s\u1ed1 \u0111i\u1ec1u ki\u1ec7n r\u1ed3i th\u00eam nh\u00e1nh r\u1ebd, v\u00e0 h\u00e0m chung \u1ea5y d\u1ea7n th\u00e0nh n\u01a1i kh\u00f4ng ai d\u00e1m \u0111\u1ee5ng v\u00e0o.<\/p>\n<p>Tr\u00f9ng l\u1eb7p ng\u1eabu nhi\u00ean l\u00e0 thu\u1eadt ng\u1eef ch\u1ec9 \u0111\u00fang t\u00ecnh hu\u1ed1ng n\u00e0y. C\u00e1ch ph\u00e2n bi\u1ec7t th\u1ef1c d\u1ee5ng l\u00e0 t\u1ef1 h\u1ecfi: khi c\u00f3 y\u00eau c\u1ea7u m\u1edbi, hai ch\u1ed7 n\u00e0y c\u00f3 bu\u1ed9c ph\u1ea3i \u0111\u1ed5i c\u00f9ng l\u00fac kh\u00f4ng. N\u1ebfu c\u00f3 th\u00ec ch\u00fang chia s\u1ebb tri th\u1ee9c v\u00e0 n\u00ean g\u1ed9p, n\u1ebfu kh\u00f4ng th\u00ec ch\u1ec9 t\u00ecnh c\u1edd gi\u1ed1ng nhau. T\u01b0 duy \u1ea5y n\u1eb1m trong nh\u00f3m k\u1ef9 n\u0103ng thi\u1ebft k\u1ebf m\u00e0 b\u00e0i <a href=\"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/goc-ky-nang\/ky-nang-can-co-cua-lap-trinh-vien\" style=\"color:#1565c0;font-weight:600;text-decoration:underline\">K\u1ef9 n\u0103ng c\u1ea7n c\u00f3 c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean<\/a> \u0111\u1ec1 c\u1eadp \u1edf ph\u1ea7n n\u1ec1n t\u1ea3ng chuy\u00ean m\u00f4n.<\/p>\n<h2>3. Khi DRY b\u1ecb \u0111\u1ea9y qu\u00e1 \u0111\u00e0<\/h2>\n<p>\u00c1p d\u1ee5ng nguy\u00ean t\u1eafc DRY m\u1ed9t c\u00e1ch m\u00e1y m\u00f3c d\u1eabn t\u1edbi tr\u1eebu t\u01b0\u1ee3ng h\u00f3a qu\u00e1 s\u1edbm, t\u1ee9c t\u1ea1o l\u1edbp d\u00f9ng chung khi ch\u01b0a \u0111\u1ee7 d\u1eef ki\u1ec7n \u0111\u1ec3 bi\u1ebft c\u00e1i chung th\u1eadt s\u1ef1 l\u00e0 g\u00ec. L\u1eadp tr\u00ecnh vi\u00ean Sandi Metz vi\u1ebft trong b\u00e0i The Wrong Abstraction r\u1eb1ng l\u1eb7p l\u1ea1i r\u1ebb h\u01a1n nhi\u1ec1u so v\u1edbi m\u1ed9t tr\u1eebu t\u01b0\u1ee3ng h\u00f3a sai. V\u00e0i kh\u00e1i ni\u1ec7m d\u01b0\u1edbi \u0111\u00e2y \u0111\u01b0\u1ee3c d\u00f9ng nh\u01b0 \u0111\u1ed1i tr\u1ecdng v\u1edbi DRY.<\/p>\n<table class=\"table table-bordered table-striped\">\n<thead>\n<tr style=\"background:#1565c0;color:#fff\">\n<th>Kh\u00e1i ni\u1ec7m<\/th>\n<th>N\u1ed9i dung<\/th>\n<th>Vai tr\u00f2<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Rule of three<\/td>\n<td>Hai l\u1ea7n l\u1eb7p th\u00ec \u0111\u1ec3 y\u00ean, t\u1edbi l\u1ea7n th\u1ee9 ba m\u1edbi t\u00e1ch ra d\u00f9ng chung<\/td>\n<td>Cho b\u1ea1n m\u1ed9t \u0111i\u1ec3m d\u1eebng c\u1ee5 th\u1ec3, \u0111\u01b0\u1ee3c Martin Fowler ph\u1ed5 bi\u1ebfn trong cu\u1ed1n Refactoring<\/td>\n<\/tr>\n<tr style=\"background:#f0f7ff\">\n<td>WET<\/td>\n<td>C\u00e1ch n\u00f3i ng\u01b0\u1ee3c l\u1ea1i DRY, t\u1ea1m hi\u1ec3u l\u00e0 vi\u1ebft m\u1ecdi th\u1ee9 hai l\u1ea7n<\/td>\n<td>Nh\u1eafc r\u1eb1ng l\u1ea7n l\u1eb7p \u0111\u1ea7u ti\u00ean ch\u01b0a \u0111\u1ee7 d\u1eef ki\u1ec7n \u0111\u1ec3 kh\u00e1i qu\u00e1t<\/td>\n<\/tr>\n<tr>\n<td>AHA<\/td>\n<td>Avoid Hasty Abstractions, tr\u00e1nh tr\u1eebu t\u01b0\u1ee3ng h\u00f3a v\u1ed9i v\u00e0ng, do Kent C. Dodds n\u00eau<\/td>\n<td>\u01afu ti\u00ean kh\u1ea3 n\u0103ng thay \u0111\u1ed5i h\u01a1n l\u00e0 g\u1ed9p s\u1edbm cho g\u1ecdn<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0110i\u1ec3m chung c\u1ee7a ba kh\u00e1i ni\u1ec7m l\u00e0 khuy\u00ean b\u1ea1n ch\u1edd th\u00eam d\u1eef ki\u1ec7n. Hai b\u1ea3n sao ch\u01b0a cho bi\u1ebft s\u1ef1 gi\u1ed1ng nhau l\u00e0 b\u1ea3n ch\u1ea5t hay tr\u00f9ng h\u1ee3p, c\u00f2n b\u1ea3n th\u1ee9 ba th\u01b0\u1eddng \u0111\u1ee7 \u0111\u1ec3 nh\u00ecn ra quy lu\u1eadt.<\/p>\n<blockquote>\n<p><em>L\u1eb7p l\u1ea1i m\u1ed9t \u0111o\u1ea1n m\u00e3 l\u00e0 chi ph\u00ed b\u1ea1n nh\u00ecn th\u1ea5y \u0111\u01b0\u1ee3c; m\u1ed9t tr\u1eebu t\u01b0\u1ee3ng h\u00f3a sai l\u00e0 chi ph\u00ed b\u1ea1n ch\u1ec9 ph\u00e1t hi\u1ec7n sau v\u00e0i th\u00e1ng, khi m\u1ecdi thay \u0111\u1ed5i \u0111\u1ec1u ph\u1ea3i l\u00e1ch qua n\u00f3.<\/em><\/p>\n<\/blockquote>\n<p>Th\u00f3i quen c\u00e2n nh\u1eafc n\u00e0y \u0111\u01b0\u1ee3c quan s\u00e1t ngay \u1edf v\u00f2ng ph\u1ecfng v\u1ea5n k\u1ef9 thu\u1eadt; b\u1ea1n c\u00f3 th\u1ec3 xem c\u00e1c <a href=\"https:\/\/www.careerlink.vn\/viec-lam\/cntt-phan-mem\/19\" style=\"color:#1565c0;font-weight:600;text-decoration:underline\">vi\u1ec7c l\u00e0m CNTT ph\u1ea7n m\u1ec1m<\/a> \u0111ang tuy\u1ec3n tr\u00ean CareerLink \u0111\u1ec3 \u0111\u1ed1i chi\u1ebfu y\u00eau c\u1ea7u \u1edf t\u1eebng c\u1ea5p \u0111\u1ed9.<\/p>\n<div style=\"background:#fff3e0;border-left:4px solid #ff9800;padding:15px 20px;margin:20px 0;border-radius:4px\">\n<p><strong>L\u01b0u \u00fd khi g\u1ed9p code<\/strong><\/p>\n<p>\u2013 \u0110\u1eebng g\u1ed9p ch\u1ec9 v\u00ec hai \u0111o\u1ea1n gi\u1ed1ng nhau, h\u00e3y x\u00e9t xem ch\u00fang c\u00f3 c\u00f9ng l\u00fd do thay \u0111\u1ed5i hay kh\u00f4ng.<\/p>\n<p>\u2013 Tr\u00e1nh t\u1ea1o l\u1edbp d\u00f9ng chung c\u00f3 qu\u00e1 nhi\u1ec1u tham s\u1ed1 \u0111i\u1ec1u ki\u1ec7n, \u0111\u00f3 l\u00e0 d\u1ea5u hi\u1ec7u tr\u1eebu t\u01b0\u1ee3ng h\u00f3a sai.<\/p>\n<\/div>\n<p style=\"text-align:center\"><img decoding=\"async\" src=\"https:\/\/cl-wpml.careerlink.vn\/cam-nang-viec-lam\/wp-content\/uploads\/2026\/09\/14135133\/a-nguyen-tac-dry-2.png\" alt=\"nguy\u00ean t\u1eafc DRY trong l\u1eadp tr\u00ecnh v\u00e0 c\u00f4ng vi\u1ec7c\" style=\"max-width:100%;height:auto;\" \/><\/p>\n<h2>4. \u00c1p d\u1ee5ng nguy\u00ean t\u1eafc DRY v\u00e0o c\u00f4ng vi\u1ec7c v\u0103n ph\u00f2ng<\/h2>\n<p>Ra kh\u1ecfi ph\u1ea1m vi l\u1eadp tr\u00ecnh, tinh th\u1ea7n m\u1ed9t ngu\u1ed3n duy nh\u1ea5t v\u1eabn gi\u1eef nguy\u00ean gi\u00e1 tr\u1ecb. M\u1ed9t con s\u1ed1 ch\u1ec9 n\u00ean c\u00f3 m\u1ed9t n\u01a1i l\u01b0u c\u00f3 th\u1ea9m quy\u1ec1n, c\u00f2n c\u00e1c b\u00e1o c\u00e1o kh\u00e1c tham chi\u1ebfu v\u1ec1 \u0111\u00f3 thay v\u00ec ch\u00e9p tay sang t\u1eebng t\u1ec7p. Chuy\u1ec7n quen thu\u1ed9c \u1edf nhi\u1ec1u ph\u00f2ng ban l\u00e0 ch\u1ec9 ti\u00eau doanh thu n\u1eb1m trong ba b\u1ea3ng t\u00ednh, m\u1ed7i b\u1ea3ng do m\u1ed9t ng\u01b0\u1eddi c\u1eadp nh\u1eadt, t\u1edbi cu\u1ed9c h\u1ecdp th\u00ec kh\u00f4ng ai bi\u1ebft con s\u1ed1 n\u00e0o m\u1edbi nh\u1ea5t. V\u1ea5n \u0111\u1ec1 kh\u00f4ng n\u1eb1m \u1edf vi\u1ec7c sao ch\u00e9p m\u00e0 \u1edf ch\u1ed7 kh\u00f4ng n\u01a1i n\u00e0o \u0111\u01b0\u1ee3c coi l\u00e0 b\u1ea3n g\u1ed1c.<\/p>\n<p>\u2013 Ch\u1ed1t m\u1ed9t t\u1ec7p ho\u1eb7c m\u1ed9t h\u1ec7 th\u1ed1ng l\u00e0m n\u01a1i l\u01b0u g\u1ed1c cho m\u1ed7i lo\u1ea1i s\u1ed1 li\u1ec7u quan tr\u1ecdng.<\/p>\n<p>\u2013 D\u00f9ng bi\u1ec3u m\u1eabu chung cho to\u00e0n b\u1ed9 ph\u1eadn thay v\u00ec \u0111\u1ec3 m\u1ed7i ng\u01b0\u1eddi t\u1ef1 ch\u1ec9nh m\u1ed9t b\u1ea3n ri\u00eang.<\/p>\n<p>\u2013 Vi\u1ebft quy tr\u00ecnh m\u1ed9t l\u1ea7n v\u00e0o t\u00e0i li\u1ec7u n\u1ed9i b\u1ed9 r\u1ed3i d\u1eabn li\u00ean k\u1ebft, thay v\u00ec gi\u1ea3i th\u00edch l\u1ea1i trong t\u1eebng email.<\/p>\n<p>C\u00e1ch ki\u1ec3m ch\u1ee9ng gi\u1ed1ng h\u1ec7t b\u00ean l\u1eadp tr\u00ecnh: h\u1ecfi xem khi m\u1ed9t d\u1eef ki\u1ec7n thay \u0111\u1ed5i, b\u1ea1n ph\u1ea3i s\u1eeda \u1edf m\u1ea5y n\u01a1i. Con s\u1ed1 c\u00e0ng l\u1edbn th\u00ec r\u1ee7i ro sai l\u1ec7ch c\u00e0ng cao.<\/p>\n<div style=\"background:#e8f5e9;border-left:4px solid #4caf50;padding:15px 20px;margin:20px 0;border-radius:4px\">\n<p><strong>L\u1eddi khuy\u00ean th\u1ef1c h\u00e0nh<\/strong><\/p>\n<p>\u2013 M\u1ed7i khi \u0111\u1ecbnh sao ch\u00e9p, h\u00e3y t\u1ef1 h\u1ecfi n\u01a1i n\u00e0y c\u00f3 ph\u1ea3i b\u1ea3n g\u1ed1c c\u00f3 th\u1ea9m quy\u1ec1n hay kh\u00f4ng.<\/p>\n<p>\u2013 Ghi r\u00f5 trong t\u00e0i li\u1ec7u n\u1ed9i b\u1ed9 ai l\u00e0 ng\u01b0\u1eddi gi\u1eef b\u1ea3n g\u1ed1c c\u1ee7a t\u1eebng lo\u1ea1i s\u1ed1 li\u1ec7u.<\/p>\n<\/div>\n<h2>5. C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<\/h2>\n<p><strong><em>1. Copy-paste code c\u00f3 ph\u1ea3i l\u00fac n\u00e0o c\u0169ng vi ph\u1ea1m nguy\u00ean t\u1eafc DRY kh\u00f4ng?<\/em><\/strong><\/p>\n<p>Kh\u00f4ng h\u1eb3n. N\u1ebfu hai ch\u1ed7 sao ch\u00e9p ph\u1ee5c v\u1ee5 hai nghi\u1ec7p v\u1ee5 \u0111\u1ed9c l\u1eadp v\u00e0 kh\u00f4ng thay \u0111\u1ed5i c\u00f9ng nhau, gi\u1eef hai b\u1ea3n ri\u00eang c\u00f3 th\u1ec3 r\u1ebb h\u01a1n g\u1ed9p chung. \u0110i\u1ec1u n\u00ean tr\u00e1nh l\u00e0 ch\u00e9p m\u1ed9t quy t\u1eafc nghi\u1ec7p v\u1ee5 r\u1ed3i qu\u00ean m\u1ea5t m\u00ecnh \u0111\u00e3 ch\u00e9p.<\/p>\n<p><strong><em>2. V\u1eady n\u00ean g\u1ed9p l\u1ea1i \u1edf th\u1eddi \u0111i\u1ec3m n\u00e0o l\u00e0 h\u1ee3p l\u00fd?<\/em><\/strong><\/p>\n<p>Quy t\u1eafc s\u1ed1 ba l\u00e0 m\u1ed1c tham kh\u1ea3o th\u1ef1c d\u1ee5ng: t\u1edbi l\u1ea7n l\u1eb7p th\u1ee9 ba, b\u1ea1n \u0111\u00e3 c\u00f3 \u0111\u1ee7 m\u1eabu \u0111\u1ec3 nh\u00ecn ra ph\u1ea7n chung. Quan tr\u1ecdng h\u01a1n con s\u1ed1 l\u00e0 ba ch\u1ed7 \u0111\u00f3 c\u00f3 c\u00f9ng l\u00fd do thay \u0111\u1ed5i hay kh\u00f4ng.<\/p>\n<p><strong><em>3. Ng\u01b0\u1eddi kh\u00f4ng l\u00e0m k\u1ef9 thu\u1eadt c\u00f3 c\u1ea7n bi\u1ebft nguy\u00ean t\u1eafc DRY kh\u00f4ng?<\/em><\/strong><\/p>\n<p>C\u00f3 \u00edch, v\u00ec b\u1ea3n ch\u1ea5t l\u00e0 qu\u1ea3n l\u00fd m\u1ed9t ngu\u1ed3n th\u00f4ng tin g\u1ed1c. Ng\u01b0\u1eddi l\u00e0m nh\u00e2n s\u1ef1, k\u1ebf to\u00e1n hay v\u1eadn h\u00e0nh g\u1eb7p \u0111\u00fang v\u1ea5n \u0111\u1ec1 \u0111\u00f3 d\u01b0\u1edbi d\u1ea1ng b\u1ea3ng t\u00ednh tr\u00f9ng l\u1eb7p v\u00e0 bi\u1ec3u m\u1eabu m\u1ed7i n\u01a1i m\u1ed9t ki\u1ec3u.<\/p>\n<p>Hi\u1ec3u \u0111\u00fang <strong>nguy\u00ean t\u1eafc DRY<\/strong> ngh\u0129a l\u00e0 chuy\u1ec3n c\u00e2u h\u1ecfi t\u1eeb &#8220;hai ch\u1ed7 n\u00e0y c\u00f3 gi\u1ed1ng nhau kh\u00f4ng&#8221; sang &#8220;hai ch\u1ed7 n\u00e0y c\u00f3 c\u00f9ng m\u1ed9t tri th\u1ee9c kh\u00f4ng&#8221;. C\u00e1ch \u0111\u1eb7t c\u00e2u h\u1ecfi \u1ea5y gi\u1eef cho h\u1ec7 th\u1ed1ng d\u1ec5 s\u1eeda, \u0111\u1ed3ng th\u1eddi tr\u00e1nh \u0111\u01b0\u1ee3c nh\u1eefng l\u1edbp d\u00f9ng chung c\u1ed3ng k\u1ec1nh sinh ra t\u1eeb thi\u1ec7n ch\u00ed g\u1ed9p s\u1edbm. H\u00e3y th\u1eed soi l\u1ea1i m\u1ed9t d\u1ef1 \u00e1n b\u1ea1n \u0111ang l\u00e0m v\u00e0 t\u00ecm xem con s\u1ed1 n\u00e0o \u0111ang n\u1eb1m \u1edf nhi\u1ec1u n\u01a1i.<\/p>\n<p><em>N\u1ed9i dung trong b\u00e0i mang t\u00ednh tham kh\u1ea3o, t\u1ed5ng h\u1ee3p t\u1eeb t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt ph\u1ed5 bi\u1ebfn; c\u00e1ch \u00e1p d\u1ee5ng c\u1ee5 th\u1ec3 thay \u0111\u1ed5i theo quy m\u00f4 h\u1ec7 th\u1ed1ng v\u00e0 b\u1ed1i c\u1ea3nh t\u1eebng \u0111\u1ed9i nh\u00f3m.<\/em><\/p>\n<p><em>Minh An<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>G\u1ea7n nh\u01b0 l\u1eadp tr\u00ecnh vi\u00ean (Developer) n\u00e0o c\u0169ng nghe c\u00e2u &#8220;\u0111\u1eebng l\u1eb7p l\u1ea1i ch\u00ednh m\u00ecnh&#8221; t\u1eeb nh\u1eefng ng\u00e0y \u0111\u1ea7u h\u1ecdc ngh\u1ec1. Nh\u01b0ng nguy\u00ean t\u1eafc DRY &#8230;<\/p>\n","protected":false},"author":58,"featured_media":29375,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-29399","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-goc-ky-nang"],"_links":{"self":[{"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/posts\/29399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/comments?post=29399"}],"version-history":[{"count":1,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/posts\/29399\/revisions"}],"predecessor-version":[{"id":29400,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/posts\/29399\/revisions\/29400"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/media\/29375"}],"wp:attachment":[{"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/media?parent=29399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/categories?post=29399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.careerlink.vn\/cam-nang-viec-lam\/wp-json\/wp\/v2\/tags?post=29399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}