لا تكرر نفسك

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

لا تكرر نفسك (بالإنجليزية: Don't repeat yourself أو DRY)‏ أو مبدأ عدم التكرار في هندسة البرمجيات يهدف إلى الحد من تكرار المعلومات من جميع الأنواع، وهو مفيد بشكل خاص في الأنظمة متعددة الطبقات.[1][2][3] ينص مبدأ (DRY) على أن «أي جزء في النظام ينبغي أن يكون معرّفاً في مكان واحد واضح مسؤول عن هذا الجزء.» وقد وضع المبدأ آندي هانت وديف توماس في كتابهما المبرمج العملي، وهما يقومان بتطبيق المبدأ بشكل واسع على «قواعد البيانات، خطط الاختبارات، بناء النظام، وحتى التوثيق».[4] عندما يتم تطبيق مبدأ (DRY) بنجاح، يحتاج تعديل أي عنصر في النظام إلى التعديل في مكان واحد فقط، لينعكس التعديل في جميع الأماكن ذات الصلة وتبقى موحدة ومتسقة ومتزامنة، ودون أن يستدعي الأمر القيام بعدة تعديلات في الأماكن غير المرتبطة بهذا العنصر منطقياً.

عدم التكرار DRY وضده

يقابل مبدأ عدم التكرار DRY ما يعرف بالحلول المبللة WET. الحلول المبللة قد تكون اختصاراً من "write everything twice" أو "we enjoy typing" أو "waste everyone's time". تظهر مشكلة الحلول المبللة عادة في الأنظمة متعددة الطبقات، حيث يمكن أن تظهر كلمة ما في عدة أماكن بدءاً من واجهة المستخدم المرئية، مروراً بأسماء المتغيرات وأسماء التوابع، وانتهاءاً ببنية قاعدة البيانات وجمل الاستعلام، بحيث لو احتاج المبرمج تغيير هذه الكلمة سيضطر إلى التعديل في كل أماكن استخدامها، أو ستظهر مشكلة عدم اتساق وتوحد المصطلحات في نفس النظام. يعالج مبدأ عدم التكرار هذه المشكلة عن طريق الحث على استخدام أدوات وقواعد تتلافى تكرار عملية التعديل إلا في مكان واحد صحيح مسؤول عنه، الأمر الذي يسمح أيضاً بإضافة وتوسيع قائمة المصطلحات بشكل سلس.[5]

طالع أيضاً

المراجع

  1. ^ Dave Thomas, interviewed by Bill Venners (10 أكتوبر 2003). "Orthogonality and the DRY Principle". مؤرشف من الأصل في 2019-03-21. اطلع عليه بتاريخ 2006-12-01.
  2. ^ Justin Lee (8 مارس 2006). "DRY is for losers". مؤرشف من الأصل في 2017-01-01. اطلع عليه بتاريخ 2013-08-31.
  3. ^ Alex Papadimoulis (8 ديسمبر 2011). "The WET Cart". مؤرشف من الأصل في 2014-09-03. اطلع عليه بتاريخ 2012-05-21.
  4. ^ Venners، Bill. "Orthogonality and the DRY Principle". www.artima.com. مؤرشف من الأصل في 2019-03-21. اطلع عليه بتاريخ 2017-05-11.
  5. ^ Papadimoulis, Alex (8 Dec 2011). "The WET Cart". The Daily WTF (بEnglish). Archived from the original on 2018-06-27. Retrieved 2017-05-11.