استعمل مربع البحث في الاسفل لمزيد من المواضيع
سريع للبحث عن مواضيع في المنتدى
-
11-01-2013, بتوقيت غرينيتش 04:04 PM
#1
مفاجأة ..ترجمة مقال ( 20 طريقة لحفظ حياة “القطط” وتعلم بى إتش بى ) .... الجزء الأول
ظ…ظپط§ط¬ط£ط© ..طھط±ط¬ظ…ط© ظ…ظ‚ط§ظ„ ( 20 ط·ط±ظٹظ‚ط© ظ„ط*ظپط¸ ط*ظٹط§ط© “ط§ظ„ظ‚ط·ط·â€ ظˆطھط¹ظ„ظ… ط¨ظ‰ ط¥طھط´ ط¨ظ‰ ) .... ط§ظ„ط¬ط²ط، ط§ظ„ط£ظˆظ„
( 20 طريقة لحفظ حياة “القطط” وتعلم بى اتش بى ) الجزء الأول
هناك مقولة انجليزية قديمة تعود إلى القرن الثامن عشر
تقول ” قطة تموت عندما لا يتبع مبرمج ال بى اتش بى (أفضل الممارسات) .. طبعا هذا ليس صحيحاً "

ولكن تابع المقال فقط وسترى
“من الممكن أن تتحول تجربتك مع بى اتش بى إلى تجربة رهيبة .ومن هذا المنطلق . فإن هذه النصائح ستعلمكم كيفية إتباع أفضل الممارسات .والحفاظ على الحياة.. حياة القطط “
0. برمج معظم الوقت بقدر ما تستطيع .
هل درس مفصلت لغة أجنبية في المدرس مفصلة ؟ دراسة علم الكلام. ودراسة الأفعال وكيف تصرف الأفعال ….
ما مقدار استخدامك لهذه اللغة الآن ؟
لو كانت إجابتك هي ” لا استخدمها” . فأنا متأكد أنك نسيتها نظرا لحقيقة أنك لم تستخدم اللغة فعليا – أنت فقط درس مفصلتها . ولكن إن كان بإمكانك عمل محادثة . فذاك لأنه من المحتمل أنك قضيت بعض الوقت خارج المدرس مفصلة تتحدث هذه اللغة . أو انك قضيت بعض الوقت في الخارج أو كنت في وظيفة وكانت هذه اللغة مطلوبة.
أيا كان السبب ، فإنك تذكرت اللغة لأنك قد استخدمتها في الحياة الفعلية ، ووضعتها في محادثاتك الخاصة
“بى أتش بى هى لغة أجنبية تمام كـ الأسبانية أو الفرنسية . ومن أجل أن تكون معتاد عليها يجب عليك أن تستخدمها خارج الدراسة , الدروس والمشاريع ممتازة لتعلم الأساسيات ، ولكن ما لم تطبق تلك المفاهيم على مشاريعك ، فسيصعب عليك أن تضع المفاهيم في مكانها الصحيح وأيضا في ذاكرتك.”
لذا , لا تقلق إن كنت لا تعرف “ما يكفى” لبناء مشروع . فعند اختيارك مشروع معين , فسيكون لديك سبب ملزم للبحث وتطبيق المفاهيم .
فعندما تبرمج معظم الوقت وخصوصا إذا كان مع هدف فسيكون من الصعب نسيان الدروس
1. تعرف على دليل بى اتش بى
أي قائمة لـ نصائح المبتدئين تحتوى على هذه النصيحة ، وهذا لسبب وجيه.
“إن تعلم كيفية تصفح وثائق بى اتش بى هو الشيء الوحيد الأكثر إفادة لك كمبرمج”
فإذا نظرتم إلى مواقعي الأكثر تصفحا فسيكون دليل بى اتش بى هو الأعلى في القائمة . وأنا لا أشك أن ذلك سيتغير طالما بى اتش بى هى اللغة التي استخدمها
في البداية.. الدليل ليس صعبا كما يبدو – ولكن يبدو أنة سيكون صعب فى التصفح ، ويمكن أن يكون غريبا فى بعض الأحيان ومع ذلك ، فستعتاد علية سريعاً.
ومن أفضل الأشياء التي تريد أن تعرفها عن دليل بى اتش بى هو أن معظم الدوال يمكن إيجادها باستخدام هذه النمط في شريط العنوان PHP: Manual Quick Reference
على سبيل المثال عند البحث عن strpos() أكتب PHP: strpos - Manual
و كذلك array_key_exists() أكتب PHP: array_key_exists - Manual
قراءة التعليقات
من السهل تجاوز التعليق ، ولكن من اجل مصلحتك يفضل النظر إليها.
إذا حصلت على نتيجة غير متوقعة من دالة ما ، فهناك فرصة أن شخصا ما أكتشفها ووضحها في التعليقات.
ويمكنك أيضا الاستفادة من النصائح والأفكار الجيدة من مجتمع التطوير عن طريق قراءة التعليقات
2. الاستفادة من المجتمعات الضخمة لـ بى اتش بى على الانترنت
بالإضافة لدليل بى اتش بى ، هناك مجتمعات رائعة للمطورين في جميع أنحاء شبكة الانترنت ،وبعض أفضل المواقع من مفضلتي هم www.StackOverflow.com و منتدى www.W3Schools.com
بالإضافة إلى ذلك ، تويتر هو مكان ممتاز لوضع أسئلتك. فإذا كان وسمك #PHP فمن المرجح أن يقوم شخص ما في المجتمع بتقديم المساعدة لك .
“تذكر : عندما تتحسن مهاراتك ، فيفضل المساعدة في تطوير المجتمع ،فا مجتمعات المطورين تحتاج المساعدة من الجميع ، وأنة لن يمر وقت طويل قبل أن يكون لديك القدرة على الإجابة على الأسئلة الأخرى للمبتدئين. فلا تتجاهلهم”
3. لا تؤجل تطبيق أفضل الممارسات لوقت لاحق
كما تعلمت ، فستسمع الكثير من “أفضل الممارسات” فى مجال البرمجة ، أشياء مثل
prepared statements and PEAR coding standards
فلا تؤجل تعلم هذه الأشياء فقط لأنها تبدو صعبة
“إذا كان هناك شئ اسمه “أفضل الممارسات” ، فذلك ليس معناه أننا “المطورين” تجمعنا معاً وقلنا “كيف نجعل حياة المبتدئين صعبة؟” .”
إن أفضل الممارسات الموجودة تجعل برنامجك آمن،سريع، ويمكن التحكم فيه ، تعلمهم في أقرب وقت ممكن ، وفى الواقع ، فلا تكمل تعليمك بالطريقة الخطأ ، تعلم أفضل الممارسات أولا
4. لا تؤجل تطبيق أفضل الممارسات لاحقا
أردت التأكد فقط من أنك رأيت هذا
“فعلا أنا أعنى ذلك ، لا تتسرع وتأخذ الطريق الأسرع . في كل مرة عندنا تنتهك أفضل الممارسات لأن الطريق الصحيح يبدو “صعبا للغاية” فأنت كأنك ترمى قطة في بئر جاف”
لهذا إذا كنت لن تفعل ذلك لنفسك ، أو لمشاريعك الخاصة، أو لأصحابك ، أو للمجتمع ككل ، فعلى الأقل تذكر القطط .
5. أجعل الكود code يصف نفسه
الأغراء ، فا مبكرا ، تريد أن تصبح ماهرا بالمتغيرات وأسماء الوظائف. ربما قرأت مقالا عن الأداء , أو رأيت كود code ينجز الكثير من العمل في سطرين فقط.
ربما تريد إنشاء الكود code بشكل خاص بك ، أو سمعت أنى أكرة ذلك وتريد فقط أن تضايقني.
مهما كانت إغراءاتك الخاصة ، قاومها بـ أي شكل من الأشكال .
أنظر إلى المثال القادم
رمز PHP:
<code style="white-space:nowrap"> <code>
1 $a = b('[email protected]');
2 $c = explode('@', $a);
3 $d = $c[1];
4 echo 'The email address ', $a, ' belongs to the domain ', $d,'.';
5 function b($e) { return htmlentities($e, ENT_QUOTES); }
</code> </code>
هل فهمت ما يعنيه هذا ؟
بالطبع ، يمكن معرفة هذا ، ولكن لماذا تفرض على من يعمل على كود codeك أن يقضى وقت من 1-5 دقائق يحك فى راسة ، لمحاولة معرفة ما يخزنه المتغير “سى”
لذلك دعنا نأخذ الكود code ونجعله أوضح .
رمز PHP:
<code style="white-space:nowrap"> <code>
1 $email = sanitize_string('[email protected]');
2 $email_pieces = explode('@', $email);
3 $domain = $email_pieces[1];
4 echo 'The email address ', $email, ' belongs to the domain ', $domain, '.';
5 function sanitize_string($string) { return htmlentities($string, ENT_QUOTES); }
</code> </code>
هناك أفضل من ذلك. الأن مع نظرة عابرة للكود code , يمكنك معرفة ما يحدث بشكل عام , وليس هناك حك في الرأس ولا شتائم والاهم من ذلك ، لا يوجد اختلاف حقيقي.
بالتأكيد ، يمكنك حفظ بعض البايت مع الأسماء القصيرة للمتغيرات . ولكن بصراحة أذا كنت تقلل الحجم فقط لحفظ 2 ملى ثانية من وقت تنفيذ البرنامج
فهذه مشكلة أخرى تماما
6. أضف تعليق على أي شئ يحتاج تفكير لمعرفته
التعليقات في الواقع ليست علامة للمبتدئ , في الواقع ، كلما أرى المزيد والمزيد من الأكواد التي ليست لي ، بدأت في التفكير أن التعليقات علامة المبرمجين المتخصصين ، فيبدو أنهم الوحيدين الذين يفعلون ذلك.
إذا كان الكود code يصف نفسه ، فلن يتطلب الكثير من التعليقات ، لكن ، مهما كانت المتغيرات وأسماء الدوال واضحة ، فسيكون لديك دائما أماكن حيث الإجراءات المتخذة ليست واضحة .
عندما يحدث ذلك ، ضع تعليق هناك.
“أذا كان عليك أن تتوقف وتفكر لثوان قليلة في ما تحتاجه لجعل البرنامج يعمل بطريقة صحيحة ، فمن المحتمل أن يكون هذا مكان جيدا لملاحظة سريعة.”
أنظر إلى ما يلي:
رمز PHP:
<code style="white-space:nowrap"> <code> 1 $pieces = explode('.', $image_name);
2 $extension = array_pop($pieces)
</code> </code>
ماذا يفعل ذلك ؟ هل توقفت وفكرت فى الأمر ؟ هل مازلت لا تعرف على وجه اليقين ماهو المخزن في $extension ?
أنظر مرة أخيرة ولكن مع تعليق واحد
رمز PHP:
<code style="white-space:nowrap"> <code> 1 // Get the extension off the image filename
2 $pieces = explode('.', $image_name); $extension = array_pop($pieces
ا
</code> </code>
لآن ، حتى لو كنت لا تعرف كيف أو لماذا يعمل هذا الكود code ، ستعرف على الأقل أن $extension تشير تحديدا إلى امتداد صورة . فهذا سيحفظ وقت أي مطور أخر ،فالتعليق يستحق منك مجهود العشر ثواني الذي أخدهكما هو الحال مع معظم الأشياء ، الاعتدال هو مفتاح الحل.فأنت تخاطر بعدم ترك تعليقات قليلة وهذا قد يؤدى إلى وضع المطور التالي في حيرة من أمره بسبب عدم فهم الجمل البرمجية ، وقد يؤدى هذا عرضا إلى كسر الكود code ، وهذا شئ محبط جدا للمطور وهو أن لا يستطيع فهم الكود code.
“الاعتدال هو الحل”
7- تعلم (docblock) وتعلم كيفية استخدامه .
إذا كان هناك شئ وحيد مؤكد يفعله جميع المطورين وثابتين علية ، أعتقد أنة سيكون استخدام معاير (docblock) للتعليق.
هناك بعض الأسباب القوية التي جعلتني أدعم (docblock)
يتطلب مبدئيا أن تفكر في ” لماذا وما هذا ” لكل ملف ووظيفة وإجراء والخ .
يعطى وصفا واضحا لكل الأنواع المتوقعة للقيم ويعطيك نتيجة صحيحة للوظائف والإجراءات
يقدم وصفا سريعا لما يفعله الكود code.
عندما يتم إدخاله مع أي بيئة من بيئات التطوير التي تدعم (docblock)
يجعل الكود code واضحا ويسمح لك برؤية وصف الكود code والمخرجات لأي من الوظائف والإجراءات.
هذه النصيحة تصنف في مستوى أعلى للمبتدئين ، لكنى أضعها فى أفضل الممارسات التي يجب تعلمها في أسرع وقت ممكن. “لك مطلق الحرية في تركها” ولكن قبل أن تفعل ذلك ، تذكر القطط D:
يظهر (docblock) أفضل ما فيه عندما يوثق فئة
رمز PHP:
<code style="white-space:nowrap"> <code> 01 /**
02 * A simple class to get the sum or difference of $_foo and a value
03 *
04 * @author Jason Lengstorf
05 * @copyright 2014 Copter Labs
06 * @license http://www.opensource.org/licenses/mit-license.html
07 */
08 class CopterLabs_Test
09 {
10 /**
11 * The value to use in addition and subtraction
12 * @var int
13 */
14 private $_foo = 0;
15 /**
16 * Adds a value to $_foo and returns the sum *
17 * @param int $add_me The value to add to $_foo
18 * @return int The sum of $_foo and $add_me
19 */
20 public function add_to_foo( $add_me=0 )
21 {
22 return $this->_foo += $add_me;
23 }
24 /**
25 * Subtracts a value from $_foo and returns the difference
26 * @param int $subtract_me The value to subtract from $_foo
27 * @return int The difference of $_foo and $subtract_me
28 */
29 public function subtract_from_foo( $subtract_me=0 )
30 {
31 return $this->_foo -= $subtract_me;
32 }
33 }
</code> </code>
في البداية قد يبدو مربكاً ، ولكن يستحق الفائدة التي حصلنا عليها .
أنظر إلى هذا الكود code بعد استخدام (docblock) في (NetBeans)

8. لا تكن مبالغا في استخدام بيئات التطوير
إذا كنت لا تعرف ما أقصده ، سترى قريبا هذا النوع من التفكير لدى المطورين
يخبرونك بأن “المبرمجين الحقيقيين لا يستخدمون بيئات التطوير”
فإذا كنت تريد إعجاب الناس . أو الشهرة فإن رفض استخدام أي شئ غير محرر النصوص (Emacs) لكتابة لبرامجك لن يفعل لك ذلك وأيضا لن يمنحك صديقة أو سيثبت أنك هاك productر ،
ومع ذلك ، علق لافتة على جبهتك لتحذر زملائك في العمل مكتوب عليها “أنا هذا الرجل”.
لا تكون هذا الرجل
“لا حرج في استخدام برنامج ليسهل عليك قراءة لكود code والتحقق من الخطأ والخ .”
اختيارك في استخدام بيئة تطوير معينة ، راجع لك شخصيا ، فانا شخصيا أحب (NetBeans) . لقد سمعت عن العديد من بيئات التطوير ، وقد كنت أستخدم (Eclipse) قبل الانتقال لـ (NetBeans)
فأي كان اختيارك ، فسوف ترى سرعة في أدائك وسهولة في تصحيح أخطائك . كذلك ، كما قمت بزيادة المكتبات لبرنامج ، فسيكون لديك وصف جيد للكود code بما أنك تستخدم أيضا (Docblock) أليس كذلك ؟
لا تظن أن بيئات التطوير غير جيدة – مهما قال لك “هذا الرجل”.
...............................
ترجم من قبل "محمد فوزى" من فريق عمل " سبوت لاير "
المقال الأصلى
إنتظرو الجزء الثانى قريبا ....

©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©
المواضيع المتشابهه
-
بواسطة romaissa في المنتدى تقنيات المواقع SEO و XML و RSS و محركات البحث و الأرشفة
مشاركات: 0
آخر مشاركة: 11-01-2013, بتوقيت غرينيتش 10:19 PM
-
بواسطة romaissa في المنتدى تقنيات المواقع SEO و XML و RSS و محركات البحث و الأرشفة
مشاركات: 0
آخر مشاركة: 11-01-2013, بتوقيت غرينيتش 06:51 PM
-
بواسطة walid في المنتدى لغات البرمجه للويب
مشاركات: 0
آخر مشاركة: 11-01-2013, بتوقيت غرينيتش 04:04 PM
-
بواسطة romaissa في المنتدى بلوغر blogger
مشاركات: 0
آخر مشاركة: 11-01-2013, بتوقيت غرينيتش 08:02 AM
-
بواسطة Chakira في المنتدى القسم العام لتطوير المواقع
مشاركات: 0
آخر مشاركة: 11-01-2013, بتوقيت غرينيتش 02:58 AM
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى