الجمعة، ديسمبر 10، 2010

راجع ما كتبته في البرنامج قبل لوم الآخرين

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
لازلنا مع كتاب "97 مسألة ينبغي على كل مبرمج أن يعلمها"....

9- راجع ما كتبته في البرنامج قبل لوم الآخرين
  • يعتقد الكثير من المبرمجين أن برامجهم لا يمكن أن يكون بها أخطاء! بل يسيئون الظن بالمترجمات compilers و أنظمة التشغيل operating systems ... إلخ و يحسبون - في كثير من الأحيان - أنها سبب المشاكل في برامجهم!
  • و الحق أن المترجمات compilers و أنظمة التشغيل operating systems و مكتبات البرمجة الجاهزة software libraries ... إلخ هي برمجيات في النهاية, و لذلك من الوارد أن يكون فيها أخطاء, خاصة إذا كانت في مراحل تطويرها الأولية alpha or beta releases. أما إذا كانت هذه البرمجيات ناضجة mature, و مستخدمة بكثرة, و هناك الكثير من البرمجيات التي تعتمد عليها, فالأخطاء في مثل هذه البرمجيات تكون نادرة جدا, و من الأجدى - في مثل هذه الحالة - أن تبحث عن المشكلة في برنامجك أنت.
  • فمثلا إذا علمت بوجود مشكلة في برنامجك, اعرف خطوات الاستخدام التي أدت إلى حدوث هذه المشكلة, قد يكون برنامجك استُخدم بطريقة لم تحسب لها حسابا, أو بخطوات غير التي توقعتها!
  • و من أكثر مصادر المشاكل في البرامج: تعدد المسارات multi-threading, و طرق اكتشاف المشاكل debugging و اختبارات فحص الوحدات unit test وحدها لا تكفي لاكتشاف مصادر المشاكل في مثل هذه الحالة؛ و لذلك فالحاجة هنا إلى تبسيط تصميم البرنامج و برمجته تكون أكثر إلحاحا.
يمكن قراءة النص الأصلي من هنا

الجمال في البساطة

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
لازلنا مع كتاب "97 مسألة ينبغي على كل مبرمج أن يعلمها" ...

5- الجمال في البساطة
  • البرمجة الجميلة لها مظاهر عدة, أهمها "البساطة", فبغض النظر عن كبر البرنامج أو تعقيده, إذا كانت أجزاء البرنامج "بسيطة": صغيرة, و لها مسئوليات محدودة, و أسماء معبرة, و ترتبط ببعضها بروابط بسيطة أيضا, فالبرنامج جميل!
  • و البساطة في البرمجة لها مميزات أخرى, منها أن البرنامج البسيط يكون سهل الفهم, سهل الاختبار testable, و سهل الصيانة maintainable كذلك.
يمكن قراءة النص الأصلي هنا