CodeGym /مدونة جافا /Random-AR /تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين
John Squirrels
مستوى
San Francisco

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

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

لماذا تحتاج إلى وضع التصحيح

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

ما هو وضع التصحيح؟

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

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

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

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

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

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

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

    تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 5
  • على طريقة:

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

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

دعنا نذهب للقيام بهذا الشيء الذي يسمى تصحيح الأخطاء!

أنا أنتمي إلى عائلة طويلة من مربي النحل، لذا فإن المشروع الذي أنشأته لتوضيح تصحيح الأخطاء يصف نماذج لعملية جمع النحل للرحيق، ومعالجة الرحيق وتحويله إلى عسل، ثم الحصول على العسل من خلية النحل. وفقًا لملف التوثيق README، والذي يمكن العثور عليه في الدليل الجذري للمشروع، فإن السلوك المتوقع لجميع الزهور التي يتم جمع الرحيق منها هو أن تكون كمية العسل المجمعة (التي تأخذ شكل مضاعفة ) مساوية للنصف الرحيق المتجمع. يحتوي المشروع على الفئات التالية:
  • النحلة — نحلة عاملة عادية
  • BeeQueen - ملكة النحل
  • خلية النحل - خلية النحل
  • HoneyPlant - نبات العسل (مصدر الرحيق) الذي يتم جمع الرحيق منه
  • رئيسي - هذا هو المكان الذي نجد فيه public static void main()الطريقة التي يبدأ بها التنفيذ.
إذا قمنا بتشغيل main()الطريقة، فسنجد أن برنامجنا لا يحسب كمية العسل فحسب، بل يؤدي أيضًا إلى حدوث استثناء... تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 14نحتاج إلى التحقيق وتحديد المشكلة. من مكدس التتبع الموجود في الزاوية اليمنى السفلية، يمكننا أن نرى أنه في RuntimeException تم طرحه على HoneyPlant.java:20: تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 15هذا بالضبط ما كنا نتحدث عنه أعلاه. دعونا نراقب RuntimeException عن طريق تشغيل main()الطريقة في وضع التصحيح. للقيام بذلك، انقر فوق سهم المثلث الأخضر في IntelliJ IDEA بجوار الطريقة main(). تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 16ونتيجة لذلك، سنقوم بإيقاف البرنامج في اللحظة التي تسبق طرح الاستثناء وسنرى هذا الرمز: تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 17تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 18للحصول على كافة المعلومات المتاحة، نحتاج إلى البحث في قسم التصحيح. يحتوي على جزء المتغيرات الذي يعرض جميع المتغيرات المتوفرة في هذا الجزء من التطبيق:
  • الرحيق = 1.0؛
  • سعة الرحيق = -1.0.
إن طرح الاستثناء أمر منطقي، لأن نبات العسل لا يمكن أن يحتوي على كمية سلبية من الرحيق. ولكن لماذا يحدث هذا؟ بعد كل شيء، في الأسطر 15-17، نتحقق مما إذا كان مخزون الرحيق قد استنفد ونعيد الصفر إذا كان:
if (nectar == 0) {
   	     return 0;
}
لكن المشكلة هي أننا نتحقق من المتغير الخاطئ. هذا خطأ في الكود. بدلاً من التحقق من كمية الرحيق المتوفرة في الزهرة (المخزنة في متغير سعة الرحيق )، يتحقق البرنامج من قيمة معلمة الرحيق الخاصة بالطريقة ، وهي كمية الرحيق التي نريد أخذها من الزهرة. ها هو! خطأنا الأول! بعد إصلاح هذا نحصل على الكود التالي:
if (nectarCapacity == 0) {
   	     return 0;
}
الآن قم بتشغيل main()الطريقة بالطريقة العادية (Run 'Main.main()'). لا يوجد استثناء، ويعمل البرنامج: تصحيح الأخطاء في IntelliJ IDEA: دليل المبتدئين - 19يعمل التطبيق حتى الاكتمال ويعطي الإجابة التالية:

"33.0 honey was produced by 7 bees from 2 honey plants"
سيكون كل شيء على ما يرام الآن، لكن هذه الإجابة غير صحيحة... وفقًا لملف README الخاص بالوثائق ، يتم تحويل الرحيق إلى عسل بنسبة 2 إلى 1:
## Documentation
Presentation based on honey production.

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

**Note**:
* 2 units of nectar = 1 unit of honey
* The queen bee eats 2 units of honey every time when beehive is replenished with honey.
لقد انتهينا. لقد أصلحنا جميع الأخطاء التي وجدناها. يمكننا الاستمرار بهدوء مع المظهر المتعجرف، واحتساء بعض القهوة، وقراءة المقالات على Stack Overflow CodeGym :)

دعونا نلخص

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

مقال للقراءة

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION