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

الصفحات

تجنب الاخطاء البرمجية ينعكس ايجابا على قوة المبرمج وبالتالي يعود عليه بالدخل الجيد

تجنب الاخطاء البرمجية ينعكس ايجابا على قوة المبرمج وبالتالي يعود عليه بالدخل الجيد



لنتحدّث عن أخطاءٍ يرتكبها المبرمجون المبتدئِون عادةً، لكن قبل ذلك أوضح شيئًا: إذا كنت منهم، فنحن لا نريدك أن تستَاء حِيال أخطاءِك التي قد ترتكبها، بل نريد إطلاعك عليها وتعليمك علاماتها لتكتشفها ونذكرك لتتجنّبها. لقد ارتكبت من هذه الأخطاء الكثير. وهي الطريقة التي علمتني لأقوم بعمل أفضل. لا تستاء إن كنت ترتكبها اليوم، تعلَّم لماذا تعتبر أخطاء؟ أنا سعيدٌ لأني شكّلت عادات ترميز (Coding) تساعدني في تجنّبها. عليك فِعلُ ذلك أيضًا. لم تُرتَّبِ الأخطاء وِفق أي مِعيار.

البرمجة دون تخطيط

المحتوى عاليَ الجودة لا يُنشأ بسهولة، بل يتطلّب تفكيرًا وبحثًا دقيقًا. البرامِج عالية الجودة كذلك. كتابة برنامجٍ جيِّد عملية متدفِّقة -متسلسلة-:

تفكير، بحث، تخطيط، كتابة، تحقق، تعديل.

لسوء الحظّ لا يوجد اختصار جيِّد لهذه. أنت بحاجة للتعوّد على القدرِ الكافي من هذه النشاطات. أحد أكبر الأخطاء هي البدءُ في كتابةِ البرمجية فورًا دون تفكيرٍ أو بحث كافٍ. بالرغم من أنه قد ينجح في تطبيقٍ صغير مستقلّ، إلا أنّ لهُ تأثير سلبيّ كبير على التطبيقات الكبيرة. كما تحتاج للتفكير قبل قولٍ كلمةٍ قد تندم عليها، فأنت تحتاج للتفكير قبل ترميزٍ قد تندم عليه. الترميز وسيلةٌ لإيصال أفكارك

«إن كنت غاضبًا، عُدّ إلى عشرة قبل التحدّث. أمّا إن كنت غاضبًا جدًا، عُدّ إلى مئة». توماس جيفرسون (Thomas Jefferson) تنطبق نصيحته على الترميز كذلك: «عند مراجعة الترميز، عُدّ إلى عشرة قبل إعادة صياغته. إذا لم تكُن لهُ اختبارات، عدّ إلى مئة». سامير بونا (Samer Buna) البرمجة هي قراءةُ الترميز السابق، البحث عن المطلوب وكيف سيناسِب النظام الحاليّ، وتخطيط لكتابة خصائص بإضافات صغيرة قابلة للاختبار. غالبًا كتابة أسطر الترميز فعليًا تشكِّل ١٠% من العملية ككلّ. لا تفكِّر أن البرمجة هي كتابة سطور الترميز. البرمجة إبداعٌ مبنيّ على المنطِق يحتاج لعناية.


 التخطيط الزائد قبل كتابة الترميز 

نعم، التخطيط قبل الترميز جيِّد، لكنّ الشيء إن زاد عن حدِّه انقلب إلى ضدِّه. شرب كمٍ كبير من الماءٍ قد يُسمِّمُك. لا تبحث عن الخطّة الأمثل، لأنّه لا وجود لها في عالم البرمجة. بل ابحث عمّا هو جيِّدٌ كفايةً، شيء يمكِنك البدء به. في الحقيقة، خطّتك ستتغيَّر، لكن الجيِّد أنّ ملزم على إنشاء بنيةٍ تؤدّي لوُضوحٍ أكثر في التّرميز. التخطيط الزائد إضاعة للوقت. أتحدّثُ هنا فقط عن التخطيط للخصائص الصغيرة. التخطيط لكل الخصائص مرةً واحِدة محظورٌ وُجوبًا! هذا ما نسمِّيه نهج الشلال (Waterfall Approach)، وهي خطّة خطّيّة بها خطوات صغيرة تُنفّذ واحِدة تِلو الأخرى. لك أن تتخيل كمّية التخطيط المطلوب لهذا النّهج. لا أتحدّث عن هذا النوّع من التخطيط، نهج الشلال لن يعمل، أي شيءٍ معقّد يمكن أن يُطَبّق عليه نهج التكيِّف الرشيق مع الواقع (agile).
كتابة البرمجيات لابد أن تكون نشاطًا متجاوِبًا. في خطة الشلال: ستُضيف خصائص لم تفكر بها، وتُزيل أخرى لأسباب لم تأخذها بعين الاعتبار. عليك إصلاح الأخطاء والتكيف مع التغيّرات. يجب أن تكون رشيقًا. على كلٍ، خطط دائمًا لبضعة خصائص تالية. خططّ بحذر دون تفريط أو إفراط، كليهما سيضرّان جودة الترميز، لا يمكنك المخاطرة بجودة الترميز.


التقليل من أهمّية جودة الترميز 

إذا كنت ستنظر إلى جانبٍ واحِد من الترميز الذي تكتبه، ينبغي أن يكون المقروئية. الترميز المُبهَم لا فائدة منه، حتى لإعادة الاستخدام. لا تقلل أبدًا من أهمية جودة الترميز. انظر إلى الترميز على أنّه وسيلة لإيصال التطبيق، عملُك الرئيسي كمبرمجِ هوَ إيصال تطبيقاتِ الحلول التي تعمل عليها.

بعض القواعد المهمة 

إعادة هيكلة الكود

يوصى بشدة بإعادة هيكلة وتحسين الشفرة البرمجية أو ما يصطلح عليه Code Refactoring بغرض الحصول في النهاية على كود منظم، واضح ومقروء من طرف كافة المتدخلين في المشروع. فنحن كمطورين نمضي في العادة ما لا يزيد عن %25 من أوقاتنا في كتابة الكود، بينما نمضي النسبة المتبقية في قراءته، بالتالي كلما كان الكود بسيطا وواضحا كلما وفرنا من وقتنا الثمين.


شارك معرفتك

عندما تشارك معارفك ومكتسباتك مع الآخرين فأنت في الوقت نفسه تتعلم وتكتسب مهارات جديدة. صدقني، التدوين سيعود عليك بمنافع كثيرة لو خصصت له فقط ساعة أو ساعتين كل يوم، أو حتى كل ثلاثة أيام. وحتى من الناحية الأخلاقية، من المحمود مساعدة الآخرين واختصار الطريق عليهم في الوصول إلى المعلومة. تستطيع إنشاء مدونة، قناة على اليوتيوب أو حتى دورة مدفوعة على يوديمي، المهم لا تبقى منغلقا على نفسك ولا تستسلم للأنانية :D

عش حياتك طبيعيا

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


استمتع بالبرمجة

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

هل اعجبك الموضوع :

تعليقات