في كتاب (المبرمج البرغماتي) (The Pragmatic Programmer) ذكر الكاتب فكرة حل مشاكل الكود عبر الحديث عنها إلى شخصية تخيلية وكان المثال (بطة مطاطية) عرف منها المصطلح (Rubber duck debugging).
الفكرة ليست جديدة بل أعتقد أن جميع المطورين الخبراء ينتهجونها بطريقة أو بأخرى، فمثلا أنا أقوم بالرسم على ورقة على طريقة الشخبطة، وأيضا أتحدث مع فريق العمل – أقوم بدور البطة المطاطية - عبر طرح أسئلة عليهم وبعدها أجدهم قد توصلوا إلى الحل دون أن أوجههم له.
كيف؟
ببساطة حل المشكلة يكمن في تبسيطها قدر الإمكان بتطبيق مفهوم (KISS) اختصارا (keep it simple stupid) وترجمتها (بسطها قدر الإمكان حتى أن الغبي يمكن أن يفهمها) ومحاولة شرح المشكلة للشخص الذي أمامك أو في حالتنا هذه (Rubber duck) الشخصية التخيلية. في أغلب الأوقات ستجد الحل بنفسك دون الحاجة إلى السؤال، فالبطة سوف تخبرك بالحل بعد أن تفهم هي المشكلة منك :)