JavaRush /مدونة جافا /Random-AR /تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين
Roman Beekeeper
مستوى

تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين

نشرت في المجموعة
مرحبًا بالجميع، مجتمع JavaRush. سنتحدث اليوم عن تصحيح الأخطاء: ما هو وكيفية تصحيح الأخطاء في Intellij IDEA. تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 1هذه المقالة مخصصة للأشخاص الذين لديهم بالفعل الحد الأدنى من المعرفة بـ Java Core. لن تكون هناك أطر عمل أو عمليات معقدة لنشر المكتبات. المشي السهل. لذا اجعل نفسك مرتاحًا ودعنا نبدأ!

لماذا تحتاج التصحيح؟

دعونا نوضح الأمر على الفور: لا يوجد كود بدون أخطاء... هكذا تعمل الحياة. لذلك، لا ينبغي لنا أن نتراخى على الفور ونتخلى عن كل شيء إذا لم يعمل الكود كما توقعنا. تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 2ولكن ماذا تفعل؟ بالطبع، يمكنك التوجيه System.out.printlnحيثما كان ذلك ممكنًا ثم تصفح المخرجات في الجهاز على أمل أن تتمكن من العثور على خطأ. ومع ذلك، لا يزال هذا ممكنًا... وهم يفعلون ذلك، ويفعلونه بعناية باستخدام التسجيل (يمكنك القراءة عنه هنا ). ولكن إذا كان من الممكن تشغيل التعليمات البرمجية على الجهاز المحلي، فمن الأفضل استخدام Debug . أود أن أشير على الفور إلى أننا سننظر في هذه المقالة في تصحيح أخطاء المشروع داخل Intellij IDEA. إذا كنت مهتمًا بالقراءة حول تصحيح الأخطاء عن بُعد، فإليك مقالًا من مصدرنا .

ما هو التصحيح

تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 3تصحيح الأخطاء هو عملية تصحيح (فحص) التعليمات البرمجية، عندما يمكنك أثناء تنفيذها التوقف في مكان معين ومشاهدة تقدم التنفيذ. فهم حالة البرنامج في مكان معين. إنه تمامًا كما لو كان بإمكانك إيقاف الحياة والنظر إلى كل شيء من الخارج. رائع، أليس كذلك؟ هدفنا هو أن نتعلم بسرعة وسهولة كيفية تصحيح أخطاء التطبيقات باستخدام بيئة التطوير المفضلة لدينا، Intellij IDEA.

ما تحتاجه لبدء التصحيح

أقدم نصيحة مجانية: أثناء قراءة المقال، افعل كل ما سيتم وصفه هنا، لحسن الحظ، هناك كل شيء لهذا الغرض. ماذا تحتاج:
  1. إصدار بيئة تطوير Intellij IDEA 2019.3.1 والإصدارات الأحدث. وفي حالة عدم وجوده لدى شخص ما، فإليك الرابط حيث يمكنك تنزيله. قم بتنزيل إصدار المجتمع لأن هذا هو ما سأستخدمه.
  2. استنساخ المشروع من GitHub واستيراده عبر IDEA.
افتح IDEA: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 4حدد مشروع عرض تصحيح الأخطاء ، وانقر فوق "موافق" واحصل على: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 5اترك مشروع الاستيراد من مصادر خارجية، ثم Maven وانقر فوق "إنهاء" . بعد استيراد المشروع، يمكننا وصف العملية باستخدام مثال حي.

القليل من النظرية...أعدك :D

لبدء التصحيح قليلاً، تحتاج إلى فهم ماهية نقطة التوقف وفهم بعض مفاتيح التشغيل السريع التي تحتاجها للبدء. BreakPoint هي علامة خاصة تعرض الموقع أو الحالة التي يجب أن يتوقف التطبيق عندها. يمكنك تعيين نقطة توقف إما عن طريق النقر بزر الماوس الأيسر على الشريط الجانبي الأيسر، أو عن طريق النقر على موقع الرمز والضغط على Ctrl + F8 . تأتي نقاط التوقف في ثلاثة أنواع: علامة الخط، وعلامة المتغير، وعلامة الطريقة. تبدو هكذا:
  • في كل سطر:

    تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 6

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

    تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 7
  • لكل طريقة:

    تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 8
  • لكل فصل

    تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 9
يمكن إزالة نقاط التوقف باتباع نفس الخطوات المتبعة عند إضافتها. هناك مواقف تحتاج فيها إلى جعلها غير نشطة (كتم الصوت). للقيام بذلك، في قسم التصحيح، يمكنك العثور على رمز تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 10يجعل جميع نقاط التوقف غير نشطة. لمعرفة نقاط التوقف التي تم تعيينها بالفعل، يمكنك إما الانتقال إلى Debug في الزاوية اليسرى السفلية والعثور على الأيقونة تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 11، أو الضغط على Ctrl+Shift+F8 : تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 12عندما نذهب إلى قائمة نقاط التوقف، سنرى: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 13هناك نقطتان مسبقتان هنا:
  • Bee.java:24 - في فئة Bee على السطر 24
  • Main.java:14 - في الفئة الرئيسية على السطر 14
أود أن أشير إلى أنه عند استنساخ مشروع ما، لن يكون لديك نقاط التوقف هذه: ستحتاج إلى تعيينها بنفسك! يوجد أيضًا قسم نقاط توقف استثناءات Java . شيء مفيد جدا. وباستخدامه يمكنك إضافة نقطة توقف ضمنية بحيث يتوقف البرنامج قبل طرح أي استثناء أو استثناء محدد. دعونا نضيف نقطة توقف ضمنية لـ RuntimeException. يتم ذلك بسهولة: في الزاوية اليسرى العليا توجد علامة زائد "+". انقر عليها وحدد Java Exceptions Breakpoints : تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 14في النافذة التي تظهر، اكتب اسم الاستثناء الذي يجب إضافته، واختر من القائمة المقترحة وانقر فوق OK : تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 15ننتهي من هذا البرنامج التعليمي وننتقل إلى التدريب.

دعنا نذهب، دعنا نقتحم براري التصحيح

تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 16نظرًا لأنني مربي نحل وراثي، فقد أنشأت مشروعًا من أجل عرض تصحيح الأخطاء الذي يصف عملية جمع الرحيق بواسطة النحل ومعالجة الرحيق وتحويله إلى عسل والحصول على العسل من الخلية. بناءً على توثيق ملف README الموجود في جذر المشروع، نقرأ: السلوك المتوقع - من جميع الزهور التي يجمع منها الرحيق (كقيمة مضاعفة )، سيتم جمع كمية من العسل تعادل نصف الكمية الرحيق المتجمع. يحتوي المشروع على الفئات التالية:
  • النحلة - نحلة عاملة عادية؛
  • BeeQueen - ملكة النحل.
  • خلية النحل - خلية النحل.
  • HoneyPlant - نبات العسل الذي يتم جمع العسل منه؛
  • رئيسي - حيث public static void main()توجد الطريقة التي يبدأ بها المشروع.
إذا قمت بتشغيل الطريقة main()، اتضح أنه لا يتم حساب كمية العسل فحسب، بل يظهر خطأ أيضًا... تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 17أنت بحاجة إلى إلقاء نظرة على الخطأ هناك. من تتبع المكدس في الزاوية اليمنى السفلى، يمكننا أن نرى أنه في HoneyPlant.java:20RuntimeException، تم طرح RuntimeException: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 18هذه هي حالتنا بالضبط: هناك RuntimeException، فلنقم بإضافة بحث عن مثل هذا الاستثناء، كما هو موضح أعلاه، وقم بتشغيل main()الطريقة في وضع التصحيح. للقيام بذلك، انقر فوق سهم المثلث الأخضر في Intellij IDEA قبل الطريقة main(): تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 19وسنحصل على البرنامج المتوقف في الوقت الحالي قبل تشغيل الاستثناء مع هذا الرمز تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 20تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 21للحصول على معلومات كاملة، تحتاج إلى البحث في قسم التصحيح. يحتوي على متغيرات ، والتي تعرض جميع المتغيرات المتوفرة في هذا الجزء من التطبيق:
  • الرحيق = 1.0؛
  • سعة الرحيق = -1.0.
يتم طرح الاستثناء إلى حد ما، لأن قيمة كمية الرحيق الموجودة في نبات العسل لا يمكن أن تكون سلبية. لكن لماذا يحدث هذا؟ بعد كل شيء، هناك فحص أنه إذا نفد الرحيق، فسيتم إرجاع قيمة صفر في الأسطر 15-17:
if ( nectar == 0 ) {
         return 0;
}
لكن المشكلة هي أنه يتم التحقق من المتغير الخطأ... وهذا خطأ في الكود. بدلاً من التحقق من قيمة الرحيق في الزهرة، الموجودة في متغير nectarCapacity ، يتحقق البرنامج من قيمة الرحيق الذي يأتي في الطريقة وهو الكمية التي يريدون أخذها من الرحيق. ومن هنا، الخطأ الأول! لذلك، نضعها بشكل صحيح ونحصل على التعبير:
if ( nectarCapacity == 0) {
         return 0;
}
بعد ذلك، نقوم بتشغيل main()الطريقة في الوضع العادي (Run `Main.main()`)ولم يعد هناك أي خطأ، البرنامج يعمل: التطبيق تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 22يعمل ويعطي الجواب: "تم إنتاج 33.0 عسل بواسطة 7 نحلات من نباتين عسل" سيكون كل شيء على ما يرام، ولكن الجواب هو خطأ... كل ذلك لأنه مكتوب في التوثيق ملف README أن الرحيق يتحول إلى عسل بنسبة 2 إلى 1:
## Documentation
Presentation based on honey getting process.

**Note**: 1 honey point = 2 nectar points
من الطريقة الرئيسية يمكن ملاحظة أن هناك نباتين من العسل، 30 و 40 وحدة من الرحيق على التوالي، لذا في النهاية يجب أن تحصل على 35 وحدة من العسل. ويكتب ذلك 33. أين ذهبت الوحدتان الأخريان؟... الآن سنكتشف ذلك! للقيام بذلك، نحتاج إلى وضع نقطة توقف في الطريقة Main.main()على السطر رقم 28، حيث يتم تنفيذها beeHive.populateHoney()وتشغيل mainالطريقة في وضع التصحيح: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 23دعونا نلقي نظرة فاحصة على هذه النقطة. توقف البرنامج قبل تنفيذ السطر 28. في الأسفل نرى قسم التصحيح، الذي يصف جميع المعلومات الموجودة على التطبيق قيد التشغيل. يحتوي جزء المتغيرات، كما ذكرنا سابقًا، على كافة المتغيرات والكائنات التي يمكن الوصول إليها من هذا الجزء من التطبيق. جزء الإطارات يوضح الخطوات التي يمر بها التطبيق، يمكنك الاطلاع على الخطوة السابقة والحصول على كافة البيانات المحلية. لكي يستمر البرنامج في العمل، يمكنك الضغط على F9 أو الأيقونة الخضراء، كما هو موضح أدناه: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 24لإيقاف البرنامج، عليك النقر على المربع الأحمر: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 25لإعادة تشغيل التطبيق في وضع التصحيح، تحتاج إلى النقر على السهم: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 26بعد ذلك، للتنقل خطوة بخطوة عبر التطبيق، يمكنك استخدام مفتاحين:
  • F8 - قم بالاطلاع على قسم من التعليمات البرمجية ولا تدخل في الأساليب الداخلية؛
  • F7 - انتقل إلى قسم من التعليمات البرمجية وأدخل الطرق الداخلية.
لذلك، لإدخال الطريقة قيد التشغيل beeHive.populateHoney()، نحتاج إلى الضغط على F7، وسننتقل إلى ما يلي: تصحيح الأخطاء في Intellij IDEA: دليل للمبتدئين - 27بعد ذلك، ننتقل إلى وضع التصحيح باستخدام F8 باستخدام هذه الطريقة حتى النهاية ونصف ما يحدث في هذه الطريقة:
  • السطر 25 - يتم استخدام Stream API لجمع العسل من جميع النحل؛
  • السطر السادس والعشرون - يضاف العسل إلى الموجود.
  • السطر السابع والعشرون - تم تخصيص وحدتين من العسل للملكة؛
  • السطر الثامن والعشرون - تتم إزالة هاتين الوحدتين من إجمالي كمية العسل؛
  • السطر 29 - الملكة تأكل هذا العسل.
هذا هو المكان الذي ذهبت فيه هاتان الوحدتان، يا هلا! بعد التواصل مع أحد محللي الأعمال، توصلنا إلى نتيجة مفادها أن ملف README الخاص بالوثائق يحتوي على خطأ وسيحتاج إلى التحديث. لنقم بتحديث ملف README:
## Documentation
Presentation based on honey getting process.

**Note**:
*  1 honey point = 2 nectar points
*  2 honey point queen bee eats every time when beehive populates the honey.
وهذا كل شيء: تم إصلاح جميع الأخطاء التي تم العثور عليها، ويمكننا الاستمرار بهدوء في شرب القهوة وقراءة المقالات على مركز JavaRush بمظهر ذكي :)

لخص

في هذا المقال اكتشفنا أن:
  • لا يوجد عمل بدون أخطاء وتصحيح الأخطاء طريقة رائعة لحلها؛
  • ما هي نقطة التوقف وما هي أنواعها؟
  • كيفية تكوين نقطة توقف الاستثناء؛
  • كيفية التنقل في وضع التصحيح.

مقال للقراءة

أنظر أيضا مقالاتي الأخرى:
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION