+ الرد على الموضوع
النتائج 1 إلى 3 من 3
  1. #1
    منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of الصورة الرمزية منامي عسل
    تاريخ التسجيل
    28 / 06 / 2008
    الدولة
    مجهولة
    العمر
    37
    المشاركات
    275
    معدل تقييم المستوى
    598

    Smi73 المبادئ التوجيهية في كتابة الاكواد

    بسم الله الرحمن الرحيم
    اللهم صل على محمد و آل محمد
    السلام عليكم و رحمه الله وبركاته


    قبل ان تقرا الموضوع يجب ان تعلم بعض من اساسيات البرمجة ..

    المسافات في كتابة الاكواد
    Tabs vs Spaces

    من اجل استخدام الملف بالتنسيق الصح و لسهولة الرجوع اليه للقراءة مستقبلا فاننا في phpBB نقوم باضافة المسافات tabs لنضيف المسافات والدقة و الوضوح في التنسيق في الاكواد و يعتبر الtab عبارة عن 4 مسافات Spaces .. فان معظم المحررات تستخدم نفس الطريقة بنفس التنسيق في استخدام الtabs ..
    مسافات الtabs قبل السطر البرمجي لا مشكلة منه و لكن داخل السطر سيسبب مشاكل في حال عدم استخدامه بشكل صحيح و يصعب على المستخدم قراءة الكود بالشكل الصحيح
    و اليكم مثال على ذلك ..

    كود PHP:
    {TAB}$mode{TAB}{TAB}= request_var('mode', '');
    {
    TAB}$search_id{TAB}= request_var('search_id', ''
    );

    بحيث نستبدل {TAB} بالضغط على المسافة tab في الكيبورد
    و سنحصل على التنسيق في السطرين بالاعلى ^^


    الترميز
    Encoding
    نظرا لدعم الترميز في الانظمة حول العالم و اعتماد utf-8 عالميا .. يتوجب علينا حفظ الملفات بترميز utf-8 وبما ان بعض المحررات لا تستعمل utf-8 بشكل افتراضي للترميز .. يفضل التأكد قبل حفظ الملف انه تم حفظه بالترميز الصح ..

    رؤوس الملفات
    File Headers

    هنا عبارة عن الهيدر المستخدم في ملفات php فعند اضافة اي ملف اضيف التالي ..

    كود PHP:
    /**
    *
    * @author Original Author <font color="red"> ( تم حذف البريد ل...نتدى ) </font>
    * @author Another Author <font color="red"> ( تم حذف البريد ل...نتدى ) </font>
    *
    * @package {PACKAGENAME}
    * @version $Id:$
    * @copyright (c) 2007 Your Group Name
    * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    *
    */

    و في نظام القوالب


    كود PHP:
    <!-- IF S_KEYWORD_VERSION -->
    <!--
    /**
    *
    * @author Original Author <font color="red"> ( تم حذف البريد ل...نتدى ) </font>
    * @author Another Author <font color="red"> ( تم حذف البريد ل...نتدى ) </font>
    *
    * @package {PACKAGENAME}
    * @version $Id:$
    * @copyright (c) 2007 Your Group Name
    * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    *
    */
    //-->
    <!-- ENDIF -->


    تسمية المتغيرات / الدوال ..
    Variable/Function Naming

    يفضل كتابة الاسماء بطريقة مفهومة و عدم استخدام متغيرات غير مفهومة
    مثلا اضافة حرف g إلى global كبداية المتغير .. و عدم استخدام اسماء طويلة ..

    الاستخدامات الخاطئة في كتابة المتغيرات
    مثال

    كود PHP:
    $currentuser
    $variablename
    $extendedvariablename

    $Current_User
    $Variable_Name
    $Extended_Variable_Name

    $CurrentUser
    $VariableName
    $ExtendedVariableName

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

    الصح

    كود PHP:
    $current_user
    $variable_name
    $extended_variable_name


    وكذلك إلى

    كود PHP:
    $current_date_and_time
    $private_messages_text_un read

    باعتباره خطأ
    ولكن يستخدم

    كود PHP:
    $now
    $privmsgs_text_unread

    بمتغيرات مختصرة و مفهومة ..


    التكرار والدوران
    Loop Indices
    في التكرار يستخدم متغيرات من نوع حرف واحد
    و عالميا يستخدم و يفضل استخدام i و j و k الخ الخ الخ
    فان كل مرة نغير الحرف داخل عملية التكرار ..

    مثال

    كود PHP:
    for ($i = 0; $i < $outer_size; $i++)
    {
    for (
    $j = 0; $j < $inner_size; $j
    ++)
    {
    for (
    $k = 0; $k < 3; $k
    ++)
    {
    foo($i, $j, $k
    );
    }
    }
    }

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

    كود PHP:
    a_function_which_gets_use r_data_from_a_file()
    stristr
    ()

    والطريقة الصح

    كود PHP:
    get_user_data()
    print_login_status
    ()
    validate_form_data
    ()

    الاقواس ..
    في phpBB يتم اضافة الاقواس بعد كل الدوال المستخدمه و ذلك للتنسيق ..

    الطريقة الخاطئة

    كود PHP:
    if (condition) do_stuff();

    if (
    condition
    )
    do_stuff
    ();

    while (
    condition
    )
    do_stuff
    ();

    for (
    $i = 0; $i < size; $i
    ++)
    do_stuff($i
    );

    الطريقة الصحيحة

    كود PHP:
    if (condition)
    {
    do_stuff
    ();
    }

    while (
    condition
    )
    {
    do_stuff
    ();
    }

    for (
    $i = 0; $i < size; $i
    ++)
    {
    do_stuff
    ();
    }

    لاحظ كيفية اضافة الاقواس بين الاوامر .. فانه يعطي طابع و سهولة في القراءة ..

    كيفية اضافة الاقواس ..
    يتم اضافة الاقواس في سطر جديد
    و لا يتم اضافة الاقواس في نفس السطر البرمجي
    مثال
    الكود الخاطئ ..

    كود PHP:
    if (condition) {
    while (
    condition2
    ) {
    for (
    $i = 0; $i < $size; $i
    ++) {
    ...}}
    } else {
    ... }

    if (
    condition
    ) {
    while (
    condition2
    ) {
    for (
    $i = 0; $i < $size; $i
    ++) {
    ...
    }
    }
    } else {
    ...
    }

    الكود الصحيح

    كود PHP:
    if (condition)
    {
    while (
    condition2
    )
    {
    for (
    $i = 0; $i < $size; $i
    ++)
    {
    ...
    }
    }
    }
    else
    {
    ...
    }

    while (
    condition
    )
    {
    ...
    }

    function
    do_stuff
    ()
    {
    ...
    }


    ادري الدرس مو مفهوم بس بما ان كتبته على السريع اتمنى وصلت المعلومة

    م*ن للفائدة


    تحياتي

     
  2. #2
    ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute ابو عيسى has a reputation beyond repute الصورة الرمزية ابو عيسى
    تاريخ التسجيل
    08 / 11 / 2007
    الدولة
    ليبيا - بنغازى
    العمر
    59
    المشاركات
    3,311
    معدل تقييم المستوى
    5920

    افتراضي رد: المبادئ التوجيهية في كتابة الاكواد


     
  3. #3
    منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of منامي عسل has much to be proud of الصورة الرمزية منامي عسل
    تاريخ التسجيل
    28 / 06 / 2008
    الدولة
    مجهولة
    العمر
    37
    المشاركات
    275
    معدل تقييم المستوى
    598

    افتراضي رد: المبادئ التوجيهية في كتابة الاكواد

    تشرفت بمرورك اخي ابو عيسى






    تحياتي

     

 
+ الرد على الموضوع

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك