Shagrouni 

من أجل توليف أنيق

عادات في البرمجة

أخر تعديل: 01 سبتمبر 2003


 

البرنامج الذي انت بصدد كتابته ؛ سيكون كالكائن حي، ينمو  ليكبر و يعيش لسنوات، يتفاعل مع بيئته الخارجية كما تتفاعل الكائنات الحية. و هو معرّض في أية فترة لأن نقوم بتطويره أو تبديل بعض جوانبه أو اضافة أبعادا أخرى له لم يحسب لها في نشئته الأولى.

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

 لذلك يجب أن يكون التوليف دائما حسن التصميم واضحا و بسيطا، وخاليا من أي حشو.

 تحقيق هذا الهدف لا يأتي دفعة واحدة.

عندما تشرع في كتابة توليف جديد؛ فسيكون همّك منصبا أولا على النتائج الوظيفية لتعليماته و مدى صحته، و على أن يكون خاليا من أية ثغرات. أي أن تتحصل على برنامج يعمل. بغض النظر عن شكل و أسلوب و معمارية التنفيذ لتعليمات الشفرة المصدرية.

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

هذه العملية بطبيعتها مستمرة، و كلما قمنا بها في وقت مبكر كانت أفضل.     

مع الممارسة، سوف تنشأ لديك عادة مراعاة جوانب التصميم و ذهنية التفكير المعماري في اللحظة التي تشرع فيها بكتابة برنامج جديد أو إجرائية جديدة. 

عملية التنقيح المستمر هذه يطلق عليها الآن في أدبيات البرمجة اسم : Refactoring أي معاودة التصنيع. و كما توحي به الكلمة فإن هذا يعني: إعادة كتابة جزء أو أجزاء من البرنامج من جديد دون اضافة مواصفات أو مزايا جديدة.

الشروحات و الملاحظات

لابأس من دعم توليف برنامجك بالملاحظات الشارحة، و لكن فقط في الأماكن التي تعتقد أنها تحتاج لشرح.

خطأ شائع بين أدبيات البرمجة مفاده أن تعليمات البرنامج يجب أن يرافقها شرح واف.

هذا غير صحيح. التوليف الجيد هو الذي يكون مفهوما بذاته و يستغني عن أي شرح أو ملاحظات. لذلك تجنب التعليمات المعقدة و المتشابكة، والخوارزميات الذكية صعبة الفهم، و لتكن التعليمات في برنامجك مفهومة للمتتبع كأنه يقرأ  كتابا.

 

Shagrouni 2001-2003 Khaled Shagrouni   khaled@shagrouni.com