نصيحة: تراكم موارد التنقيح

نشره م. وائل حسن -أ… في

أعني هنا بـ"موارد التنقيح": "كل ما يستخدمه المبرمج أثناء عملية التنقيح debugging باستثناء برنامج المُنقِّح debugger نفسه، مثل الملفات النصية أو الصور أو غيرها من الأشياء التي يعمل عليها البرنامج محل الاختبار".

و تفصيل هذا أنه حينما تُضيف خاصيةً جديدةً إلي برنامجك فمن المُستحسن أن تقوم باختبارها علي الفور لتري هل تعمل كما تحب أم لا، و بعد الانتهاء من هذا الاختبار فمن الخطأ أن تلقي بالأدوات التي صنعتَها لإجراء هذا الاختبار، يعني مثلاً لو أنك تختبر مترجماً compiler للغةٍ افتراضيةٍ ثم قمت باختبار خاصيةٍ جديدةٍ في اللغة عن طريق ملف كود مكتوبٍ بها، فمن الخطأ بعد إجراء تلك التجربة أن تلقي هذا الملف و ألا تحتفظ به لما بعد.

سبب هذا أنك فيما بعد سوف تحتاج إلي إجراء اختبار أفضل تسميته باختبار التوافقٍ العكسي backward compatibility test لتري هل التغييرات الجديدة التي صنعتَها في كود البرنامج قد تسببت في مشاكل مع الأكواد القديمة بما يؤدي إلي عدم عمل الخصائص القديمة التي أضفتَها للبرنامج بشكلٍ صحيح.و لو أنك احتفظتَ بملفات الاختبارات التي تُجريها لتستخدمها في كل مرةٍ تريد فيها الاطمئنان علي التوافقية العكسية فسيوفر هذا عليك كثيراً من وجع الرأس.

بالطبع لا أنصح بالإفراط في عملية التحقق من التوافق العكسي لأن هذا الإفراط سيعني مضاعفة المجهود الاختباري بما لا يتناسب مع الفائدة المرجوة منه، و لكني كذلك أشدد علي أهميته البالغة خصوصاً في المشاريع البرمجية الضخمة؛ فلو أنك أهملتها أو قللتَ منها بشكلٍ مبالغٍ فيه فربما تجد نفسك بعد فترةٍ في مأزقٍ عنيفٍ نتج عن تركم تضادات الأكواد القديمة و الحديثة بما لا يمكن ملاحقته إلا بعد عناءٍ شديد، و قد كان من الأفضل لو تم حل كل تضادٍ بمجرد ظهوره بمفرده.