يمكن أن يكون تعلم البرمجة أمرًا ممتعًا، و لكنه قد يكون أيضًا طريقًا صعبًا في البداية. إذا كان لديك شعور بأن عملية التعلم يمكن أن تكون أسرع و أكثر كفاءة، فقم بإلقاء نظرة على هذه القائمة من الأخطاء البرمجية الشائعة.
عندما بدأت تعلم البرمجة لأول مرة، كان ذلك وقتًا مليئًا بالحماس المستمر، وكنت متحمسًا جدًا لكل مشكلة جديدة وكل تقنية جديدة! لم يكن الحماس ثابتًا بل كان يتناوب مع لحظات من الشك عندما كنت أواجه مشكلة في الكود. في بعض الأحيان كنت أتعلم فقط من أجل المتعة ولم أهتم كثيرًا إذا كنت أفعل ذلك بأفضل طريقة ممكنة. إذا نظرنا إلى الوراء، أدرك أنه كان بإمكاني أن أتعلم بشكل أكثر كفاءة، أو على الأقل كان بإمكاني أن أنقذ نفسي من الكثير من القلق و التوتر. بعد التحدث مع أصدقائي في مجال البرمجة، أدركت أنني لست وحدي، بل إننا جميعًا نكرر نفس الأخطاء. فيما يلي قائمة قصيرة بما يجب تجنبه للحصول على بداية سلسة في البرمجة.
التعلم بشكل غير منتظم
معظم المبرمجين المبتدئين متحمسون جدًا للأشياء الجديدة التي يتعلمونها، مما يجعلهم يستخدمون كل دقيقة للتعلم. يتبدد الحماس بسرعة، ولكن إذا كنت تفكر جديًا في مهنة البرمجة، فلا يمكنك أن تتركه تمامًا. وبالتأكيد لا يمكنك التوقف عن التعلم. الأمر المهم لتعلم البرمجة، خاصة في البداية، هو التعلم بانتظام. عندما يكون كل شيء جديدًا، يكون من الصعب تذكر كل المعلومات، وتساعد البرمجة المنتظمة على ترتيب معرفتك. إن البرمجة مرة واحدة في الأسبوع لبضع ساعات ليست فعالة مثل البرمجة يوميًا لمدة ساعة واحدة. لن تضيع وقتك في محاولة تذكر بناء الجملة أو محاولة معرفة فكرتك عن وظيفة معينة. يمكن أن يساعدك العثور على مصدر مناسب للتعلم منه في الالتزام بجدول زمني منتظم، كما تتيح لك الدورات التدريبية عبر الإنترنت التعلم بالسرعة التي تناسبك.
تعلم كل شيء مرة واحدة
بالنسبة للمبتدئين، كل تقنية جديدة مغرية، فهم يريدون تعلمها على الفور. ربما سمعت عن إطار عمل جديد في اجتماع تقني، أو ربما شاهدت برنامجًا تعليميًا للغة برمجة جديدة على الإنترنت، وترغب في تجربته في أقرب وقت ممكن. على الأقل شعرت بذلك في البداية. ونتيجة لذلك، كنت أتنقل بلا انقطاع بين التقنيات الجديدة دون اكتساب أي معرفة متعمقة. بدون الأساسيات الصلبة، لن تتمكن من فهم الأفكار الأكثر تعقيدًا. تعتمد بعض التقنيات على تقنيات أخرى ولن يكون لها أي معنى بشكل منفصل. حاول مقاومة الإغراء واختر بحكمة الترتيب الذي ستتعلم فيه مهارات جديدة. إذا لم تكن متأكدًا من الترتيب الصحيح، فقم بإلقاء نظرة على متطلبات القبول أثناء التسجيل في الدورة التدريبية.
تنسيق الكود الفوضوي
يمكن أن يكون الاضطراب في التعليمات البرمجية مؤلمًا. في بداية تعلم البرمجة، لم أصدق مرشدي عندما كان يؤكد على أهمية ترتيب الكود. بالتأكيد، لقد فهمت أنها ممارسة جيدة ولكني أولت الكثير من الاهتمام لما كنت أكتبه، ولم يكن لدي الوقت للتفكير في كيفية كتابتي له. ومع ذلك، فهمت في اللحظة الأولى التي اضطررت فيها إلى تصحيح الكود الخاص بي. استغرق الأمر البسيط، مثل العثور على علامة إغلاق في HTML، ساعات عندما كان الكود الخاص بي فوضويًا وغير مزود بمسافة بادئة.
في بعض اللغات، مثل Python، قد تؤدي المسافة البادئة غير الصحيحة إلى حدوث أخطاء، ولن يعمل الكود. خلال أول اتصال لي مع بايثون، عندما كنت أتلقى دوراتي الأولى، اعتدت أن أقضي الكثير من الوقت في التحقق مرة أخرى من الدوال أو حتى إعادة كتابتها – كنت متأكدًا من أنها مكتوبة بشكل جيد، لكنها ما زالت تنتج أخطاء. في أغلب الأحيان لم يكن الخطأ بسبب الشروط أو الحلقات المكتوبة بشكل سيء ولكن بسبب المسافة البادئة غير الصحيحة.
تجاهل اصطلاحات التسمية
يمكن أن تكون التعليمات البرمجية منسقة بشكل جيد ولكنها لا تزال غير مرتبة عندما يتعلق الأمر باصطلاحات التسمية. أعلم أنه من الصعب العثور على أسماء جيدة للمتغيرات أو الفئات أو الدوال في البداية. وما هي الأسماء الجيدة في الواقع؟ أولاً، يجب أن يكون الاسم مفيدًا، ويجب أن يوضح بأكبر قدر ممكن من الدقة ما تقوم به دالتك. وفي الوقت نفسه، كلما كان الاسم أقصر، كان ذلك أفضل. يستغرق الأمر بعض الوقت حتى تصبح التسمية غريزية، ولكنها تستحق الجهد المبذول. ستجعل التعليمات البرمجية أكثر قابلية للقراءة، ليس فقط لنفسك ولكن أيضًا لأعضاء الفريق الآخرين إذا كنت تعمل في فريق. تقوم العديد من الدورات التدريبية للمبتدئين بتدريس البرمجة دون التركيز على أسماء المتغيرات و الدوال. إذا قمت بإنشاء متغيرات تسمى “أ” و”ب” و”ج”، فسيكون ذلك جيدًا بما يكفي لعملية التعلم، لكنه بالتأكيد لن يكون مناسبًا لمشروع واقعي.
عدم وجود نسخ احتياطية
يقولون أن هناك نوعين من الأشخاص في العالم، الأشخاص الذين يقومون بعمل نسخ احتياطية و الأشخاص الذين سيقومون بعمل نسخ احتياطية. ينطبق ذلك على النسخ الاحتياطي لكل من بياناتك و عملك. أنا متأكد من أن جميع أصدقائي فقدوا جزءًا من عملهم، سواء كان كودًا، أو فصلًا من رسالة ماجستير، أو مقالًا على وشك الانتهاء. لقد حدث لي أيضا.
لحسن الحظ، هناك حل جيد لعمل نسخة احتياطية لأعمالك البرمجية: أنظمة التحكم في الإصدار مثل GIT، و SVN، و TFS. يمكنك قراءة المزيد حول استخدام Git في واحدة من أحدث منشورات مدونتنا.
المبالغة في التعقيد
يمكنك بسهولة معرفة ما إذا كنت تقرأ تعليمات برمجية للمبتدئين، ليس لأنها ستكون بهذه البساطة، ولكن على العكس من ذلك، غالبًا ما تكون مهندسة بشكل مبالغ فيه. يبذل المبرمجون المبتدئون الكثير من الجهد لجعل أكوادهم البرمجية تعمل على الإطلاق، لذلك نادرًا ما يحاولون جعلها أنيقة في نفس الوقت. في معظم الحالات، يكون ذلك مجرد أثر جانبي لقلة الخبرة، لكن في بعض الأحيان يرغب المبرمجون المبتدئون في إثارة إعجاب الآخرين بتعقيد عملهم. ولسوء الحظ، فإن مثل هذا الكود الذي يبدو معقدًا سوف يكشف عن افتقار المؤلف إلى الخبرة.
في بعض الأحيان يكون الكود المعقد للغاية نتيجة للكتابة بدون خطة. إنه خطأ شائع للمبتدئين في البرمجة لأن التخطيط لبنية جيدة لعملك ليس بالمهمة السهلة، ويأتي مع الخبرة.
الندم بسبب البحث عن الحلول في جوجل
هل شعرت يومًا بالذنب بسبب البحث في Google عن كيفية القيام بشيء ما؟ ربما كنت بحاجة إلى مساعدة في كتابة دالة معينة، أو ربما كنت بحاجة ببساطة إلى تذكير نفسك ببناء جملة جزء نادر من التعليمات البرمجية؟ لا ينبغي أن تشعر بالسوء لأنها ممارسة شائعة جدًا بين المبرمجين المحترفين. من المحتمل أن يكون لدى شخص ما نفس المشكلة التي تواجهها بالفعل وقد تم حلها بالفعل، فهذا يساعدك على توفير الوقت.
هل سمعت من قبل عن Stack Overflow؟ هناك مئات الآلاف من الأسئلة وربما ملايين الإجابات. يأتي هذا الموقع والعديد من المواقع المماثلة لإنقاذك عندما تكون عالقًا. إن استخدام خبرات الآخرين يساعدك على إنجاز عملك. ولا يقتصر الأمر على المبتدئين فقط، بل يحدث ذلك للجميع. لقد رأيت كل أصدقائي في مجال البرمجة يبحثون على Google للحصول على المساعدة أو النصائح مرة واحدة على الأقل.
بالطبع، إذا كنت تعمل ضمن فريق، يمكنك أن تطلب المساعدة شخصيًا من شخص ما، وهو ما يمكن أن يكون أكثر كفاءة (وأسرع) من قراءة العديد من الحلول الممكنة على الإنترنت، خاصة إذا لم تكن اللغة الإنجليزية هي لغتك الأم. إذا لم يكن هناك أحد يمكنك أن تسأله، اسأل العم جوجل وسوف يساعدك. لكن تذكر أن البحث عن الإجابات لا يعني سرقة كود شخص آخر. من ناحية أخرى، تجنب نسخ ولصق التعليمات البرمجية التي لا تفهمها، وهو أيضًا خطأ شائع جدًا بين المبرمجين المبتدئين.
نسخ الكود دون فهمه
لقد أقنعت نفسك بأن الحصول على المساعدة من الموارد المتاحة على الإنترنت ليس بالأمر السيئ، وأنت تكتشف وفرة من الإجابات في Stack Overflow. واجه شخص ما مشكلة مشابهة لحالتك و هناك حل عملي لهذه المشكلة. ليس لديك أي فكرة عما يفعله هذا الكود ولكن المستخدمين الآخرين قالوا إنه يعمل، لذا دعنا نلصقه في مشروعك. انها ليست فكرة جيدة. إذا كنت لا تفهم كيفية عمل جزء من الكود ، فتجنب لصقه في مشروعك، وخاصة تجنب إلزامه بمستودع عمل دون التحقق منه مرة أخرى بنفسك ودون مراجعة التعليمات البرمجية. حتى لو أدى ذلك إلى حل مشكلتك، فقد يتسبب في حدوث أخطاء في مكان آخر في تطبيقك. إذا لم تكن متأكدًا، فاطلب من صاحب الكود التوضيح أو تحدث مع زملائك الأكثر خبرة لمعرفة ما إذا كان هذا الحل هو الحل الصحيح.
كم عدد الأخطاء الشائعة التي ارتكبتها؟ قد يكون الأمر محبطًا في البداية، لكن ارتكاب الأخطاء يجعلنا مبرمجين أفضل، طالما أننا نبذل جهدًا للتعلم منها. على الرغم من أن الخطوات الأولى قد تكون صعبة، فلا تستسلم بسهولة، واستمر في البرمجة!
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.