انتقل إلى المحتوى

تصحيح البطة المطاطية

هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
من ويكيبيديا، الموسوعة الحرة
بطة مطاطية مستعملة من المبرمج لمساعدته في مراجعة الكود

تصحيح البطة المطاطية (بالإنجليزية: Rubber duck debugging)‏ وهو مصطلح غير رسمي يستخدم في هندسة البرمجيات للتنقيح برمجي. الأسم يشير إلى قصة في كتاب (بالإنجليزية: The Pragmatic Programmer)‏ بحيث أن المبرمج يشرع بحمل بطة مطاطية ويصحح الكود الخاص به بإجبار نفسه بشرح الكود تفصيليًا للبطة، مصطلحات عديدة متوفرة لهذه الطريقة عادةً بمشاركة أنواع مختلفة من الجمادات.[1]

المنهجية

[عدل]

لقد مرّ العديد من المبرمجين بتجربة شرح مشكلة لشخص آخر، ربما حتى لشخص لا يعرف شيئًا عن البرمجة، ثم توصلوا إلى الحل أثناء عملية الشرح. عند وصف ما يفترض أن يفعله الكود وملاحظة ما يفعله بالفعل، يصبح أي تعارض بين هذين الأمرين واضحًا.[2] بشكل عام، فإن تدريس موضوع ما يجبر على تقييمه من وجهات نظر مختلفة ويمكن أن يوفر فهمًا أعمق.[3] باستخدام كائن غير حي، يمكن للمبرمج محاولة تحقيق ذلك دون الحاجة إلى مقاطعة أي شخص آخر، وبنتائج أفضل من تلك التي لوحظت من مجرد التفكير بصوت عالٍ دون جمهور.[4] تم تدريس هذا النهج في دورات علوم الكمبيوتر وهندسة البرمجيات.[5][6]

الثقافة الشعبية

[عدل]

في الأول من أبريل عام 2018، قدّمت شبكة ستاك إكستشينج صورة رمزية على شكل بطة مطاطية على مواقعها الإلكترونية كـ "ميزة" جديدة أُطلق عليها اسم Quack Overflow كدعابة بمناسبة كذبة أبريل. ظهرت البطة في الزاوية اليمنى السفلية من نافذة المتصفح، وحاولت مساعدة الزوار بالاستماع إلى مشاكلهم والرد عليها بحلول. ومع ذلك، لم تُصدر البطة سوى صوت نقيق بعد التفكير والكتابة الظاهرين. وقد أشارت إلى أسلوب "تصحيح البطة المطاطية" كطريقة فعالة لحل المشكلات.[7]

انظر ايضًا

[عدل]

مراجع

[عدل]
  1. ^ The Pragmatic Programmer: From Journeyman to Master. Addison Wesley. مؤرشف من الأصل في 2015-09-27. {{استشهاد بكتاب}}: الوسيط غير المعروف |الرقم المعياري= تم تجاهله يقترح استخدام |ردمك= (مساعدة) p. 95, footnote.
  2. ^ Baker، SJ، The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability، مؤرشف من الأصل في 2013-10-05، اطلع عليه بتاريخ 2011-02-09.
  3. ^ Hayes، David (25 يونيو 2014). "The Psychology Underlying the Power of Rubber Duck Debugging". Press Up via Internet Archive. مؤرشف من الأصل في 2014-07-09. اطلع عليه بتاريخ 2021-09-10.
  4. ^ Byrd، Nick؛ Joseph، Brianna؛ Gongora، Gabriela؛ Sirota، Miroslav (2023). "Tell Us What You Really Think: A Think Aloud Protocol Analysis of the Verbal Cognitive Reflection Test". Journal of Intelligence. ج. 11 ع. 4: 76. DOI:10.3390/jintelligence11040076. PMC:10146599. PMID:37103261.
  5. ^ Attwood، Jeff (2012). "Rubber Duck Problem Solving". codinghorror.com. مؤرشف من الأصل في 2022-02-12. اطلع عليه بتاريخ 2021-11-16.
  6. ^ Malan، David (2020). "Rubber Duck Debugging in CS50 IDE". noticeable.news. مؤرشف من الأصل في 2024-12-09.
  7. ^ "Stack Exchange has been taken over by a rubber duck!". Meta Stack Exchange. 31 مارس 2018. مؤرشف من الأصل في 2025-03-07. اطلع عليه بتاريخ 2018-04-01.