تناقش هذه المقالة ماهية تصحيح الأخطاء (debug) من وجهة نظر البرمجة وتصف أيضًا كيفية تصحيح الأخطاء وكيفية تحسين تصحيح الأخطاء وتحسين هذه المهارة.
ما هو تصحيح الأخطاء (debug) ؟
تتم كتابة التصحيح كـ “debug” باللغة الإنجليزية. تتم إضافة البادئة De إلى كلمة Bug، مما يعني الإزالة. في الواقع، تتكون كلمة Debug من جزأين، De و Bug. تعني كلمة bug حرفياً حشرة، ولكن في عالم الكمبيوتر يتم استخدامها للإشارة إلى خطأ أو مشكلة في الرموز. لذلك، فإن التصحيح باللغة الإنجليزية يعني تصحيح الأخطاء وفي عالم البرمجة يعني التصحيح أو اكتشاف الأخطاء. قبل أن نفهم بالضبط ما هو تصحيح الأخطاء، يجب علينا أولاً معالجة مسألة ما هي أهمية تعلم التصحيح ولماذا يجب أن نتعلم التصحيح.
لماذا يجب أن نتعلم التصحيح؟
الأخطاء معرضة جدًا لحدوثها في تطوير البرمجيات، لأن تطوير البرمجيات وبرمجتها نشاط مفاهيمي وتجريدي للغاية (غير ملموس وعقلي أو تخيلي). المبرمجون والمطورون يتعاملون مع البيانات والمعلومات. يقومون بتنظيم البيانات ونقلها وإجراء التحديثات اللازمة وتحرير المعلومات أو يمكنهم إرسالها إلى مكان ما واستلامها مرة أخرى.
يعمل المبرمجون مع البيانات طوال الوقت، لكن هذا التفاعل ليس مباشرًا. في الواقع، لا يتم تخزين المعلومات فعليًا في الكمبيوتر، على الأقل ليس بالتنسيق الذي يتخيله المستخدمون. إن الأداء الداخلي لأجهزة الكمبيوتر هو فقط في شكل نبضات كهربائية، والتي يتم تحويلها بعد ذلك إلى أصفار وأخرى على مستوى مجرد، وعند مستويات تجريد أعلى، تظهر هذه الأصفار والآحاد كأي نوع من المعلومات التي نتعامل معها.
تستخدم لغات البرمجة للتفاعل مع أجهزة الكمبيوتر واستخدامها. في لغات البرمجة، يتم توفير مستويات التجريد للمهام التشغيلية بحيث يمكن إخبار أجهزة الكمبيوتر بما يجب القيام به. أيضًا، يتم تطبيق طبقات التجريد هذه على البيانات والمعلومات التي تتم إدارتها في البرمجة.
وتجدر الإشارة إلى أن البرمجة كانت دائمًا نشاطًا تجريديًا للغاية، ومن السهل على المبرمج ألا يرى ما يفعله الكمبيوتر بالفعل، أو أنه من المستحيل عادةً تحديد المعلومات التي يعمل عليها الكمبيوتر في سطر معين من كود. لذلك، فإن إعطاء الأمر الخاطئ للكمبيوتر وعدم تحقيق الهدف الذي نبحث عنه يمكن أن يحدث بسهولة.
إحدى النكات بين المبرمجين حول هذا الأمر هي أن المبرمج عادةً ما يقضي 5 دقائق في كتابة التعليمات البرمجية و 5 ساعات في محاولة لفهم سبب عدم عمل البرنامج كما هو متوقع.
بغض النظر عن مدى براعتنا في البرمجة، هناك حاجة لساعات لا حصر لها لتصحيح أخطاء الكود، لذلك يجب علينا تقوية هذه المهارة قدر الإمكان وزيادة سرعتنا قدر الإمكان.
ما هو التصحيح وكيف يتم debug؟
يمكن اعتبار تصحيح الأخطاء عملية البحث عن جذر المشكلة في التعليمات البرمجية المصدر وإصلاحها. عادة، تبدأ هذه العملية بالتفكير في جميع الأسباب المحتملة لحدوث هذه المشكلة، ثم يتم تقييم كل من هذه الفرضيات (بدءًا من الفرضيات الأكثر احتمالية) وفحصها حتى نجد أخيرًا السبب الجذري للمشكلة. ثم يجب إجراء التصحيحات اللازمة والتأكد من عدم حدوث هذه المشكلة مرة أخرى. لا يوجد حل سحري لتصحيح الأخطاء وإصلاحها. عادة، من أجل التصحيح، من الضروري إجراء مجموعة من الإجراءات المختلفة. هذه الأحكام مذكورة أدناه:
- بحث في جوجل
- تسجيل أحداث الكود
- التحقق من منطق البرنامج مقارنة بما يحدث بالفعل.
لذلك، من الأفضل مناقشة “إطار عمل التصحيح” في المقالة التالية، ثم تقديم بعض الأدوات التي يمكن استخدامها لتصحيح أخطاء الرموز.
الآن بعد أن اكتشفنا ما هو تصحيح الأخطاء إلى حد كبير، فقد حان الوقت للحديث عن المهارات التي نحتاجها لتعلم تصحيح الأخطاء.
كيف نقوي طريقة التصحيح في التفكير؟
في هذا القسم، يتم إعطاء الحيل للدخول في إطار التصحيح الذهني، ويتم وصف عملية التصحيح بطريقة ما. أولاً، يتم تقديم قائمة بهذه الحيل، ثم يتم وصف كل منها على حدة.
- لاحظ رسائل الخطأ
- البحث في غوغل عما لا نعرفه
- شرح منطق الرموز لأنفسنا أو لشخص آخر أو لأي شيء يمكن الوصول إليه
- تقليل منطقة المشكلة أو تضييقها وفهم مكان حدوث الخطأ بالضبط.
- النظر في جرس الترفيه لنفسك والتفكير في أشياء أخرى
- الحصول على مساعدة من الآخرين
- التأكد من اختفاء الخطأ تمامًا
- الامتثال لمبادئ الترميز الواضحة (النظيفة)
- الامتثال لمبادئ DRY
- كتابة رمزًا بسيطًا قدر الإمكان
- استخدام مبادئ SOLID
تقوية خط التفكير في تصحيح الأخطاء من خلال إيلاء المزيد من الاهتمام لرسائل الخطأ
في أي بيئة تطوير أو تحرير تعليمات برمجية تقريبًا، إذا لم يتم تنفيذ الكود بشكل صحيح، فمن المحتمل أن تظهر رسالة خطأ للمبرمج. توضح رسائل الخطأ هذه (إلى حد ما) سبب عدم عمل الرموز بشكل صحيح. على سبيل المثال، ضع في اعتبارك الكود التالي:
mickTheBug('Im a scary bug!') const mickTheBug = message => console.log(message)
من خلال تشغيل الكود أعلاه، يتم عرض الخطأ التالي:
ReferenceError: Cannot access 'mickTheBug' before initialization at Object. (/home/German/Desktop/ger/code/projects/test.js:4:1)
تشير رسالة الخطأ أعلاه بوضوح إلى المشكلة وتحدد أي سطر من البرنامج حدث فيه الخطأ (test.js: 4: 1). قد تبدو قراءة رسائل الخطأ بمثابة توصية واضحة، ولكن ستندهش من عدد المبرمجين الذين لا يقرؤون رسائل الخطأ بعناية ويصطدمون بالأخطاء مع الفكرة الأولى التي تتبادر إلى أذهانهم. لا يخلو وجود رسائل الخطأ من سبب، والغرض من عرضها هو الحصول على فكرة أولية على الأقل حول أي جزء من البرنامج حدث الخطأ ولأي سبب.
معنى googling والبحث لإيجاد حل في التصحيح
إذا كانت رسالة الخطأ المستلمة غير واضحة للمبرمج أو لم يكن من الممكن فهم سبب تلقي رسالة الخطأ هذه، فإن الخطوة المناسبة الأولى التي يمكن اتخاذها في هذه الحالة هي إرسال رسالة الخطأ إلى google. واحدة من أكثر الحقائق المدهشة حول البرمجة هي الحجم الهائل واتساع نطاق مجتمع المبرمجين عبر الإنترنت. يكاد يكون من المؤكد أن الكثير من المبرمجين قد واجهوا نفس رسالة الخطأ من قبل، وقاموا بحلها، وشرحوا كيفية إصلاحها للآخرين على الإنترنت حتى لا يضطر الآخرون للتعامل مع هذا الخطأ مرة أخرى.
الحيل الموجودة لحل الأخطاء عن طريق جوجل
عند البحث في Google، من الأفضل تضمين أكبر قدر ممكن من التفاصيل في بحثك. على سبيل المثال، بالنسبة للمثال السابق الموضح أعلاه، يمكننا البحث عن العبارة التالية في Google:
javascript ReferenceError: Cannot access before initialization
أظهرت التجربة أن استخدام التقنية المستخدمة في نص البحث سيؤدي إلى نتائج أكثر دقة. كما أن إزالة الأشياء ذات الصلة فقط بالكود الخاص بنا وليس النص العام وسيحصل الآخرون على الخطأ ذي الصلة (مثل اسم وظيفة mickTheBug التي كتبناها بأنفسنا) يمكن أن يساعد في الحصول على نتيجة أفضل.
حيلة عملية أخرى هي استخدام مصادر موثوقة وأحدث. الوسائل الموثوقة، على سبيل المثال، أن الوثيقة ذات الصلة رسمية أو أن الحل المقترح قد تم اختباره بالفعل من قبل الآخرين والتوصل إلى نتيجة. أهمية حداثة نتائج البحث تعني أيضًا أن الحلول المستخدمة قد تم تنفيذها وتنفيذها مؤخرًا قدر الإمكان. لأن ما نجح قبل 5 سنوات لم يكن على الأرجح أفضل طريقة ممكنة لتصحيح الأخطاء الآن.
لماذا من المهم التحقق من الوثائق الرسمية للغة البرمجة ذات الصلة أو تقنية التصحيح؟
سواء كنا نتعامل مع موضوع جديد أو نواجه خطأ، يجب أن تكون الوثائق الرسمية هي أول شيء نتحقق منه دائمًا. عادة ما تكون الوثائق الرسمية هي المصدر الأكثر اكتمالا وحداثة للمعلومات المتاحة لأي أداة. قد يكون البحث عن إجابات بكميات كبيرة من المعلومات الفنية مملاً أو مربكًا في بعض الأحيان، ولكنه سيوفر الوقت على المدى الطويل.
الشيء المهم في التوثيق الرسمي هو أنه في بعض الأحيان تحتوي هذه الوثائق على الكثير من المعلومات ومفصلة للغاية بحيث تكون مربكة أكثر من كونها مفيدة. لهذا السبب، يبدو من الأفضل دائمًا استخدام أكثر من مصدر واحد لأي موضوع والبحث فعليًا عن آراء مختلفة. إذا تم ذكر نفس الحل في مصادر مختلفة، فهذا يعني أن الحل المقابل صالح. عادة، لتعلم مفهوم جديد أو تصحيح مشكلة في أحد البرامج، يتم تحقيق فهم جيد من خلال قراءة الأقسام ذات الصلة من التوثيق، وقراءة بعض المقالات ذات الصلة، ومشاهدة بعض مقاطع الفيديو التدريبية.
This article is useful for me
1+ 0 People like this post