الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الممارسات المفضلة للبرمجة (هندسة البرمجيات)

مغلق
بدأه MEMONONO في 5 مارس 2006 · 4 رد · 3,005 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مقدمة:

السلام عليكم...

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

و يجعل لنا الخبراء طرقا افضل لذلك..

ويقدم لنا خبراء البرمجة السريعة (Agile) (وهي أحد العمليات processes المتبعة في هندسة البرمجيات لتحسين كتابة البرامج)

مجموعة من هذه الممارسات التي تواجه كل مبرمج في حياته البرمجية اليومية...

لنتكلم عن الممارسات المفضلة للبرمجة

الدرس الثاني: تحول التعليق إلى كود

ماهو التعليق Comment؟

التعليق هو ما يكتبه المصمم أو المعماري أو المبرمج على القطعة التي يصنعها ليكمل بها معنى القطعة ويشرحها...و تكون في الكود بلون آخر يختلف عن باقي الكود وتعتمد على اللغة كيف تعرف التعليق فبعضها يكون بعد // وبعضها يكون يبن /* */ وهناك أنواع كثيرة..

ماهي نظرة الهندسة البرمجية إلى التعليق؟

إن التعليق يتعبر من الأشياء المهمة في كل مراحل صنع البرنامج من البداية إلى النهاية..

وبها يتضح فهمنا للقطعة أو الشيء الذي نصنعه..

ماهي نظرة الـ Agile للتعليق؟

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

مثال:

لننظر إلى هذا الصف class الذي يصف الطالب

/* This class describes the Student Personal Information */
Public class Stu
{
     /* Student ID */
     public int sid;
     /* Student Name */
     public string stu_name;

     /* Constructor */
     public Stu( pid , stu_name)
     {
          this.pid = pid;
          this.stu_name = stu_name;
     }

    /* Load Personal Information From DB */
    public void lod()
    {
            /* The DB Connector  */
            DB_Connector db = new DB_Connector();
            /* Temp Student */
            Stu s = db.getStu();
            pid = s.sid;
            stu_name = s.stu_name;
     }
}

الآن بعد قرائتنا للكود نفهم ماذا يريد المبرمج.....

***هل تستطيع أن تفهم الكود بدون تعليق؟؟ لا (إذا فاتعليق جد مهم)

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

لو أخذنا أول سطرين..

اقتباس
/* This class describes the Student Personal Information */
Public class Stu

لماذا كتب المبرمج هذا التعليق؟ لأنه يعتقد أن الصف Class الذي كتبه لا يدل على اسمه..

فهو يعوض نص المعلومات في القطعة بالتعليق

ماذا لو أخذنا السطر الأول والثاني ودمجناهما..

Public class StudentPersonalInformation

الآن تمت كتابة الكود بوضوح لا يحتاج إلى توضيح أكثر..

مارأيكم في الكود التالي:

اقتباس
 /* Constructor */
     public Stu( pid , stu_name)

هل كان التعليق كافياًً؟ لا بل إنه غير مهم لأن الـConstructor معروف ولايحتاج إلى شرح..

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

حول التعليق إلى كود:

لنرى نفس المثال بالشكل الجديد..

اقتباس
Public class StudentPersonalInformation
{
     public int StudentID;
     public string StudentName;

     public StudentPersonalInformation( StudentID, StudentName)
     {
          this.StudentID = StudentID;
          this.StudentName = StudentName;
     }

    public void LoadPersonalInformationFromDB()
    {
            DB_Connector DBConnector = new DB_Connector();
            StudentPersonalInformation TempStudent = DBConnector.getStudentPersonalInformation();
            StudentID = TempStudent.StudentID;
            StudentName = TempStudent.StudentName;
     }
}

النهاية:

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

حول دائما التعليق إلى كود...

إذا كان تحول التعليق لا يؤدي إلى نتيجة فالافضل ان تتركه كتعليق..

احذف جميع التعليقات الغير لازمة...

*** لا تستخدم هذا الاسلوب إلا في حالة أن الفريق يتبع اسلوب البرمجة المتسارعةAgile...

المراجع:

www.agileskills.org

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

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

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#2

ما شاء الله

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

جزاك الله خيرا

#3

مقالة مميزة يا وائل كما عودتنا

حقيقة انا اخلط بين الاسلوبين بالرغم من استخدامى لاسماء متغيرات و طرق و خواص و فئات تدل على معناها إلا اننى لا يمكننى الاستغناء عن التعليقات :D

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#4

مشكور جدا على الدرس

قليلا ما اكتب التعليق ويكون مختصر جدا لانى اكتب الاسماء بشكل واضح ومفهوم ويشرح نفسه :)

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

جزاك الله خير اخي علي المقال الرائع

وان شاء الله نستفيد منه مع اني مابكتبش تعليق الا قليل

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

هذا الموضوع مغلق.

مواضيع مشابهة