بتـــــاريخ : 2/15/2011 2:26:28 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 1227 0


    الممارسات المفضلة للبرمجة (هندسة البرمجيات) الدرس الثاني: تحول التعليق إلى كود

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : MEMONONO | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

    مقدمة:
    السلام عليكم...
    أعرض في هذه الدروس كل بعد فترة ممارسة من الممارسات البرمجية التي نفعلها دائما
    و يجعل لنا الخبراء طرقا افضل لذلك..
    ويقدم لنا خبراء البرمجة السريعة (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

    كلمات مفتاحية  :

    تعليقات الزوار ()