هل تعلم والإنفوغرافيك > كاريكاتير

بطولة الطميمة في البرمجة

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

يمكن تصنيف الأخطاء البرمجية الأكثر شيوعًا إلى ثلاثة أصناف:

أخطاء الصياغة البرمجية Syntax errors: وهي أخطاء تُرتكب عند بناء الرماز البرمجي، يكتشفها المترجم compiler، ولا يمكن متابعة تنفيذ البرنامج ما لم تُعالج، ومن أشهر هذه الأخطاء:

استدعاء متحول غير معرّف.

استدعاء دالة برمجية لا تملك تصريحًا مسبقًا، أو استدعاؤها بصيغة لا تطابق التصريح.

زيادة علامة ترقيم لازمة أو إنقاصها مثل: ; أو {} أو () أو []

إسناد قيم للمتحولات لا توافق نوعها؛ كأن نعطي متحول عدد صحيح قيمة محرفية مثال:

;"int i ="Hello 

التحميل الزائد لدالة برمجية مع إنقاص مدخلات خاطئة أو تمريرها (1,2).

الأخطاء المنطقية - Logic errors: وهي أخطاء تتعلق بسيناريو العمل، والتسلسل المنطقي للبرنامج؛ إذ لا يستطيع المترجم compiler أن يكتشفها، فيمكن أن ينتقل البرنامج إلى مرحلة التنفيذ، لكنه حتمًا سيعطي نتائج غير صحيحة (1,2)، ومن أشهر هذه الأخطاء:

أخطاء خوارزمية Algorithmic: يكمن الخطأ هنا في الخوارزمية المستخدمة لحل المشكلة، ولا تعني نقص في المهارة البرمجية. 

أخطاء ناتجة عن سوء التفسير Misinterpretation: ينتج عن نقص فهم للمسألة المطروحة قبل برمجتها. 

أخطاء ناتجة عن المفهوم الخاطئ Misconception: يعد هذا الخطأ ناتجًا عن نقص أساسي بالمعرفة البرمجية مثل الخطأ الناتج عن استخدام حلقات التكرار مع شرط توقف عند دليل - index أكبر من حجم المصفوفة - Overstepping array boundaries (3).

يمكن أن نقلل من الأخطاء المنطقية باتباع الخطوات:

فكر في ما يجب أن يفعله البرنامج ليحقق النتائج التي حققها، سيقودك هذا إلى موضع الخطأ.

تتبع برنامجك عمليًّا، وذلك بوضع تعليمات طباعة عند نهاية كل مرحلة برمجية لمساعدتك في معرفة ما يفعله البرنامج بقيم المتحولات (1).

أخطاء في أثناء التشغيل - Runtime errors: وهي أخطاء متوسطة الصعوبة، لا تُكتشَف إلا في زمن التنفيذ، ويمكن لبعض اللغات أن تعطي رسالة خطأ عن مكان حدوث المشكلة، والأسطر البرمجية المرتبطة بها.

يمكن أن نقلل من أخطاء التشغيل عن طريق: 

تتبع الرماز البرمجي بحذر خطوةً بخطوة (1).

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

المصادر:

1. Cis.upenn.edu. n.d. Errors. [online] Available at: هنا [Accessed 6 February 2021].

Fd.valenciacollege.edu. n.d. Common Beginner C++ Programming Mistakes. [online] Available at: هنا [Accessed 6 February 2021].

Ettles, A., Denny, P. and Luxton-Reilly, A., 2018. Common logic errors made by novice programmers. In: 20th Australasian Computing Education Conference. [online] ACM. Available at: هنا [Accessed 6 February 2021].