القائمة الرئيسية

الصفحات

الكود الجيد والكود السيء في برمجة ال PLC- الدرس الثاني
Clean code Vs. Dirty Code in PLC Programming – Part Two

في الموضوع السابق من هذه السلسلة قمنا بمناقشة الكود النظيف والكود السيء ، حيث تحدثنا عن معني وأهمية الكود النظيف ، يمكنك الرجوع الي الموضوع السابق من هنا قبل أن تبدأ في قراءة هذا الموضوع

اليوم سوف نستكمل ما كنا قد بدأناه في موضوع الكود الجيد والكود السيء PLC Clean vs. Dirty Code ، حيث سنقوم بمناقشة أول الخطوات بالتفصيل وهي قواعد الكتابة.

plc efficient programming

محتويات المقال:

  1.    مقدمة
  2.    قواعد التسمية
  3.    قواعد كتابة التعليقات
  4.    الخاتمة.

مقدمة

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

البرمجيات في الوقت الحاضر تمتص جزء كبير من التكاليف الأولية للمشروع ومع ذلك تكثر مشكلاتها وتحتاج للصيانة بشكل مستمر.

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

 

قواعد التسمية

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

تجنب استخدام العناوين الحقيقية الخاصة بال PLC

وهذه من القواعد الهامة والتي تستهدف كل لغات البرمجة ، فلا تستخدم العناوين مباشرة سواء للمدخلات أو المخرجات مثل I0.0, X0, P0 ولكن يجب عليك تسمية هذه المتغيرات باسم يدل علي الوظيفة الفعلية لكل دخل وخرج مثل Mixer, SiloLevelSw, CyliderExtended, etc. فمثل هذه الأسماء يزيد بشكل فعال من سهولة قراءة البرنامج ، بالإضافة الي سهولة تحويله من ماركة الي أخري.

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

 تعد تغييرات النظام اللاحقة أيضًا أكثر عرضة للخطأ حيث أن بعض المتغيرات قد يتم تخطيها العناوين أو التغاضي عنها وذلك لصعوبة الوصول اليها.

استخدم طريقة للتسميات

عندما تقوم بتسمية المتغيرات والثوابت فلا تترك الأمر ارتجالياً في كل مرة تقوم بتسمية جديدة ولكن عليك أن تتبني مبادئ لفعل ذلك وهناك بعض القواعد المشهورة في التسميات مثل

كل الاحرف صغيرة alllowercase

كل الاحرف كبيرة ALLUPPERCASA

تمييز بدايات الكلمات مثل أول كلمة بحرف صغير lowerCamelCase

أول حرف كبير من كل كلمة UpperCamelCase

الفاصل بشرطة تحتيه مع استخدام حروف صغيرة lower_snake_case أو استخدام حروف كبيرة Upper_Snake_Case

يمكنك استخدام طريقة للمتغيرات وطريقة أخري للثوابت ، مما يزيد من سهولة كتابة/قراءة البرنامج.

لا تكرر تسميات في Local & Global Variables

حافظ علي طول مناسب للأسماء ، فمتوسط عدد الأحرف في التسميات حوالي 15 حرف.

استخدم اللغة الإنجليزية

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

 

قواعد كتابة التعليقات

هناك أيضا بعض الارشادات التي يجب أن تتبعها عند كتابتك للتعليقات ، فالأمر هنا ليس مناقشة كتابة تعليقات من عدمه ، فالتعليقات أمر افتراضي لابد منه ، وفيما يلي سوف أعرض لك أهم النصائح عند كتابة التعليقات

التعليق يجب أن يصف الغرض من الكود

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

فالتعليقات الجيدة هي التي تصف نوايا المبرمج ، ويفضل استخدام اللغة الإنجليزية في كتابة التعليقات.

أكتب تعليقات أولا

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

 

الخاتمة

اعمَل بِعِلمي وَإِن قَصَّرتُ في عَمَلي        يَنفَعكَ عِلمي وَلا يَضرُركَ تَقصيري

الي هنا نكون قد انتهينا من هذا الدرس والي لقاء اخر في درس جديد في سلسلة الكود النظيف ، أتمني أن أكون قد وفقت في عرض المعلومة ،

شاركوا المحتوي مع الاخرين لتعم الفائدة

أسألكم الدعاء

 

يرجي ترك تعليق للإبلاغ عن رابط لا يعمل

 

 

تعليقات

3 تعليقات
إرسال تعليق

إرسال تعليق

عن المدونة

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