اذهب الي المحتوي
أوفيسنا

الوصايا العشر للمبرمجين


الردود الموصى بها

سبق و نشر هذا الموضوع المنقول أبو حمود فى الفريق العربي :

هذا مقال نشر على جزءين في عددين من مجلة البي سي النسخة العربية بقلم سامر الجودي ولما استفدته من هذا المقال فقد احببت أن تعم الفائدة رواد هذا المنتدى :

الجزء الأول : الوصايا العشرة للمبرمجين

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

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

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

1- جهاد النفس

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

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

وبمناسبة الحديث عن حول البرنامج فقد أخبرني صديقي أن أحد زملائه في العمل بدأ بكتابة برنامجه بقائمة تعليمات ، وبالبند "حول البرنامج" تحديداً ، حيث كتب اسمه ، وذكر أن المبرمج (النحرير طبعاً) فلان الفلاني ، وذلك قبل أن يبدأ حتى بتصميم قائمة ملف ثم قام باستشارة الناس في البرنامج الذي يخطط لكتابته ، وأنه يرغب أن يجعله يقوم بكذا وكذا ، فتأمل ! .

2- الفكرة المتميزة

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

3- التخطيط الجيد

ارسم سياسة برنامج بطرح بعض الأسئلة أولا مثل لمن تقدم هذا البرنامج وماهي الوظائف التي تزوده بها .

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

فمن غير المعقول أن نبدأ بتطوير برنامج يعمل في بيئة وندوز 98 زنفرغ منه بعد ظهور وندوز ملييوم .

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

4- العناية ببرنامج التركيب

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

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

5- واجهة تطبيقية جميلة

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

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

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

الجزء الثاني :

6- الاهتمام باللغة

تصل إلى مجلتنا كل شهر مجموعة من البرامج التي يرغب مؤلفوها بنشرها مع القرص الهدية ومن الغريب أن جزءا من هذه البرامج يأتي بواجهة إنجليزية على الرغم من أن مؤلفيها يتكلمون العربية ومجلتنا عربية قراؤها من العرب حصراً ، وعلى الرغم من سهولة تطوير واجهة تطبيق عربية في مدة وجيزة ، وما نريد أن نفهمه هنا لماذا لم يقم هؤلاء المبرمجون على الأقل بتطوير واجهة ثنائية اللغة لبرامجهم ؟

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

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

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

يخشى بعض المبرمجين من الانتقال الى استخدام التقنيات الحديثة ويعضون بالنواجذ على أساليب أكل عليها الدهر وشرب ففيهم من يستخدم تقنية DDE بدلا من أتمتة أكتف أكس ، أو يلتف على نظام التشغيل للقيام ببعض الإجراءات الخاصة بدلا من الاستفادة من وظائف API ، أو يكتب قواعد بيانات في ملفات نصية ، أو يصر على استخدام DAO بدلا من ADO في تطبيقات قواعد البيانات وقد تعرفت منذ فترة على مبرمج عتيق تفوح من برامجه رائحة التقنيات القديمة ، وكان أطكرف مافي الأمر أنه مازال يحتفظ في صندوق محكم بآخر إصدارات Quick Basic خوفا عليها من الضياع .

8- الانفتاح على البرامج الأخرى

هب أن أحدهمك قرر شراء أو استخدام برنامجك والتخلي عن برنامجه فهل سألت نفسك ماذا سيفعل بكل تلك البيانات التي تراكمت لديه ؟

تعاني الكثير من البرامج التي يكتبها المبتدئون والخبراء على السواء من غياب أدوات خاصة لاستيراد وتصدير البيانات وهما أداتان لا غنى عنهما في تنفيذ كثير من الأعمال . كما تساعد هاتان الأداتان الناس على اختبار البرامج الجديدة ومقارة أدائها ووظائفها مع البرامج الأخرى باستخدام بيانات جاهزة .

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

9- ملف التعليمات

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

على المبرمج من ناحية أخرى أن يعتمد تزويد برنامجه بملف تعليمات HTML حصرا وهو الجيل الحالي من ملفات تعليمات ويندوز ، وقد انتقلت البرامج إلى اعتماد هذه الهيئة تدريجيا منذ أيام ويندوز 98 .

10- اختبار البرنامج

يجب اختبار البرنامج قبل توزيعه على عدة أجهزة مختلفة المواصفات تعمل في بيئة نظم تشغيل مختلفة ، وبلغات مختلفة وحاصل ضرب هذه الاحتمالات يعني اختبار البرنامج على عشرة أجهزة على الأقل بدء من ويندوز 95 - 98 - NT - Win Me - 2000 بواجهة تطبيق عربية أو إنجليزية وأنصح أن يختبر البرنامج أناس متفاوتي المستوى ، وعلى أن لا تقوم بشرح طريقة استخدام البرنامج لهم للتأكد من قدرة المستخدم على اكتشاف وظائفه بمفرده من ناحية ، ولاكتشاف العلل التي قد لاتخطر ببالك من ناحية أخرى .

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information