‫سنعود في هذا الفيديو وفي مقاطع الفيديو القليلة التالية التي أود أن أوضح لك كيفية استخدام تصحيح الأخطاء
‫و Visual Studio.
‫والفكرة من تصحيح الأخطاء هي التخلص من الأخطاء.
‫وقد يكون من السهل في بعض الأحيان اكتشاف هذه الأخطاء لأنه بمجرد تشغيل البرنامج ويبدأ
‫في الانهيار ، عندئذٍ تعلم ، حسنًا ، لديك خطأ ، لكن في بعض الأحيان
‫يكون خطأ منطقيًا ، مما يعني أنه لن يراه حقًا هويتك ، ولكن يجب أن تكتشفها أنت أو مستخدميك ، والتي نأمل أن تخبرك أنك بحاجة
‫إلى تحسينها أو أنك بحاجة إلى التخلص من هذا الخطأ.
‫ولكي أعرض لك أو أوضح لك وظيفة تصحيح الأخطاء في Visual Studio ، فقد أنشأت برنامجًا صغيرًا
‫هنا.
‫لقد أعددت أداة صغيرة سنستخدمها لهذا الغرض ، وستكون الأداة أداة دعوة لصديق
‫الحفلة.
‫الفكرة هي أن ابنتي بلغت الثالثة من عمرها وأقيمنا لها حفلة صغيرة ويمكنها دعوة بعض
‫الأصدقاء وبالطبع كانت ستحب دعوتها روضة أطفال كاملة ، لكننا سمحنا لها فقط
‫بدعوة ثلاثة أصدقاء.
‫لذا كان عليها الآن أن تقرر الأصدقاء الذين تريد دعوتهم.
‫وبالطبع كان الأمر سهلاً لأن هناك بعض الأصدقاء الذين تحبهم أكثر من
‫غيرهم ، لكن في النهاية لا أعرف من هم أصدقاؤها المفضلون.
‫لذا إذا كان علي أن أقرر من يمكنها دعوتها ، فسأكتب برنامجًا صغيرًا يقول ، حسنًا
‫، كل شخص لديه اسم قصير ويصل إلى الكل.
‫نعم ، ما يصل إلى عدد في هذه الحالة ، يمكن دعوة ثلاثة إلى الحفلة.
‫لذلك هي تسمي جميع أصدقائنا.
‫وبعد ذلك سأقول ، حسنًا ، أولئك الذين لديهم أقصر الأسماء ، الثلاثة الذين لديهم أقصر الأسماء
‫ستتم دعوتهم.
‫وهذه هي الأداة هنا.
‫ما كتبته ، هذا بالضبط ما يفعله.
‫لدينا هذه القائمة فرانك وجو وميشيل وآندي وماريا وكارلوس وأنجلينا.
‫ولدينا طريقة الحصول على أصدقاء الحفلة والتي تحتاج إلى قائمة وعدد الأشخاص الذين يجب أن تختارهم
‫من تلك القائمة.
‫ثم لدينا حلقة لكل حلقة تكتب فقط أسماء هؤلاء الأشخاص أو هؤلاء الأطفال ، في
‫حالتي ، على وحدة التحكم.
‫حسنا.
‫لا شيء يتوهم.
‫والخوارزمية التي تقرر من هو المدعو ومن ليس هو هذه الطريقة هنا وهنا ندعو صديق الحفلة
‫أو نكتشف من هو صديق الحفلة.
‫نحتاج بالطبع إلى قائمة بالأشخاص الذين يمكننا التحقق منهم.
‫ثم نتحقق من الاسم الأقصر ونقارنه دائمًا.
‫لذلك نراجع جميع الأشخاص الموجودين في القائمة ونقارن دائمًا.
‫هل سيكون الاسم أقصر من طول معين أم سيكون اسمًا لأحد الأشخاص الآخرين؟
‫لذا في النهاية سوف يعطيني أقصر الأسماء.
‫ولكن هنا لدي خلل داخلي هنا.
‫حسنا.
‫لذلك سأقارن أكبر من أقصر اسم بهذا الطول.
‫لذا في هذه الحالة ، سأحصل على جميع الأسماء الأطول ، على الرغم من أنني أردت الحصول على جميع الأسماء
‫القصيرة.
‫هذا مجرد خطأ مقصود قمت بتطبيقه ، لأنه يمكنك الآن رؤية أن هذا شيء
‫قد لا تلاحظه.
‫بالطبع ، هذا خطأ منطقي وإذا قمنا بتشغيل الكود ، فسيظل يعمل.
‫لن يكون هناك خطأ أو خطأ.
‫لن تتعطل ، بل ستعطينا أسماء خاطئة.
‫لكن الآن بالنسبة لنا في هذه الحالة ، الأمر سهل لأننا نرى ، حسنًا ، ميشيل وأنجلينا وكارلوس
‫أسماء طويلة ونعرف القائمة.
‫لذلك نحن نعلم أنه كان هناك جو وآن وماريا وحتى فرانك.
‫لدينا أسماء أقصر ، لكن لسبب ما لم تكن مدرجة في القائمة على الرغم من أننا أردنا الحصول على
‫الأقصر.
‫نعم.
‫الأشخاص أو الأشخاص بأقصر الأسماء.
‫لا أعرف كم هم قصيرون أو طولهم ، لكن هذا لا يهم هنا.
‫المهم هو أن هذه قائمة سهلة لأن لدينا القائمة ظاهرة هنا كمطور.
‫ولكن ماذا لو حصلنا على القائمة من مكان آخر؟
‫لنفترض أننا حصلنا على القائمة من ملف XML ، وهو ملف ضخم به آلاف الأسماء ، أو حصلنا على قائمة
‫من الإنترنت ولا يمكننا رؤية القائمة قبل معالجتها بالفعل بواسطة برنامجنا.
‫لذلك لن نرى أن تلك الأسماء التي تم إعطاؤها إلينا ليست في الحقيقة أسماء أقصر ، لكن
‫برنامجنا به هذا الخطأ الصغير ، والآن هذا ما تفعله طريقة الحصول على الجزء المختلفة.
‫سيعود فقط أقصر اسم.
‫ثم لدينا هذا الجمع لأصدقاء الحفلة ، والذي يعرض فقط قائمة جميع
‫الأشخاص ذوي الأسماء المختصرة إلى مبلغ معين يمكننا دفعه هنا.
‫إذن ، نجتاز الرقم ثلاثة ، مما يعني أننا سنحصل على ثلاثة أصدقاء فقط.
‫إذا تجاوزنا الرقم أربعة ، فسنحصل على أربعة أصدقاء وهكذا دواليك.
‫حسنا.
‫هذا ما يفعله برنامجنا الآن بشكل أساسي.
‫لدينا بطاقات أصلية تجارية مع فرانك ، لذلك لدينا قائمة أصدقاء الحفلة الفارغة هذه.
‫وطالما أن قائمة أصدقاء الحفلة هذه تحتوي على عدد أقل ، فإن الرقم الذي تم تمريره ، نحن.
‫ما عليك سوى التحقق من وجود صديق الحفلة التالي.
‫ثم نمضي قدمًا ونضيف ذلك إلى قائمة أصدقاء الحفلة.
‫وما نقوم به هو حذفنا من القائمة التي تم تمريرها إلينا.
‫الآن هذا شيء خطير للغاية ، لكننا نفعله لأننا مطورون مبتدئون
‫ونقوم بهذه الحيلة الصغيرة حيث نفكر ، حسنًا ، الآن سنتخلص من متغير
‫أو عنصر في قائمة.
‫ونحن نفعل ذلك برمجيًا.
‫ثم خطوة بخطوة لدينا قائمة قصيرة ولدينا فقط الأشخاص المتبقيون للمقارنة ، وهم غير موجودين بالفعل
‫في قائمتنا.
‫حسنا.
‫هذا ما نفعله بهذه القائمة.
‫إزالة.
‫على الرغم من أن هذه ليست برمجة نظيفة ، سنرى كيفية إصلاح ذلك لاحقًا أيضًا.
‫لكن في الوقت الحالي ، لدينا البرنامج وهو يعمل.
‫إنه يعمل بشكل جيد تمامًا.
‫لكن كيف يمكننا معرفة كيفية إصلاح هذا الخطأ؟
‫لأننا نعلم الآن أن لدينا خطأ ويمكننا بالطبع مراجعة التعليمات البرمجية الخاصة بنا.
‫وفي هذه الحالة ، الأمر سهل لأنه مجرد 43 سطرًا من التعليمات البرمجية.
‫لكن تخيل أنها آلاف الأسطر من التعليمات البرمجية والعديد من الملفات المختلفة والعديد من الأشخاص المختلفين قد
‫عملوا عليها ولا يمكنك معرفة ما هو الخطأ.
‫الآن ، ما يمكنك القيام به هو أنه يمكنك استخدام إمكانيات تصحيح الأخطاء في Visual Studio ومن أجل القيام بذلك
‫، ما يمكنك القيام به هو أنه يمكنك فقط إضافة نقطة توقف.
‫لنبدأ الآن بنقطة توقف.
‫لدينا هذا.
‫نقطة حمراء صغيرة هنا على الجانب الأيسر.
‫بشكل عام ، هذا الشريط الرمادي الذي لديك هنا ، حيث يمكنك إضافة نقاط توقف.
‫يمكنك أيضًا إضافة نقطة توقف عن طريق الضغط على F تسعة ولن أفعل ذلك لأن تسعة توقف مؤقتًا لبرنامج
‫تسجيل الفيديو الخاص بي.
‫لذلك أحتاج إلى القيام بذلك باستخدام الماوس.
‫لذلك أذهب إلى تصحيح الأخطاء وبعد ذلك يمكنني الضغط على تبديل نقطة التوقف.
‫ما سيفعله ذلك هو أنه سيخلق لي نقطة التوقف هذه.
‫يمكنك بالطبع الضغط على f تسعة.
‫لذا فإن الاختصار هو تسعة وهو أسهل كثيرًا باستخدام الاختصارات عند تصحيح الأخطاء بدلاً من الذهاب
‫إلى التصحيح والنقر طوال الوقت.
‫حسنا.
‫لذا تعتاد على استخدام الأزرار الموجودة على لوحة المفاتيح.
‫حسنا.
‫فلنبدأ بعد ذلك في التصحيح.
‫حسنًا ، أذهب إلى تصحيح الأخطاء ثم أبدأ التصحيح أو يمكنني فقط الضغط على F خمسة لبدء التصحيح.
‫الآن بعد أن أصبحنا كذلك ، لدينا هذا السهم الأصفر الصغير الذي يشير إلى أن برنامجنا عالق حاليًا في هذا
‫المكان.
‫وجعلناه عالقًا هناك لأننا أنشأنا نقطة التوقف هذه هنا.
‫لذا فإن البرنامج ينكسر في تلك المرحلة ويمكننا الآن دفع البرنامج إلى الأمام في وتيرتنا الخاصة حتى نتمكن من
‫السير سطراً بسطر ويمكننا حتى البحث بشكل أعمق.
‫لذلك دعونا نفعل ذلك.
‫دعنا نتخطى الأمر ، نضغط على F10 أو نضغط على هذا الزر هنا في الجزء العلوي من أجل الانتقال والانتقال إلى الخطوة التالية.
‫بالمناسبة ، كل هذه الأزرار متوفرة فقط لأنني في وضع التصحيح ، أليس كذلك؟
‫لذلك بدأت في تشغيل البرنامج الخاص بي ويمكنك أيضًا رؤية خطوة إلى الأمام والخروج كلها متوفرة هنا
‫أيضًا.
‫لذلك لديك عدة طرق مختلفة.
‫نعم ، تخطو خطوة للخارج واخرج أو اضغط على تلك الأزرار.
‫حسنا.
‫إذن ما أفعله الآن هو أنني سأنتقل إلى السطر التالي.
‫لذلك ذهبت إلى السطر التالي.
‫ويمكنك الآن أن ترى أن الأصدقاء هم قيمة لها سبع قيم.
‫إذن فهي قائمة من سبع سلاسل فرانك وجو وميشيل وما إلى ذلك.
‫عند المؤشر صفر ، لدينا Frank في المؤشر الأول مع Joe وما إلى ذلك.
‫الآن أصدقاء الحفلة نفسها لا تزال قائمة فارغة ، على الرغم من أننا نخصص قيمة لها.
‫ولكن هذا لأنه عندما تكون في السطر 11 ، يتم تنفيذ السطر العاشر ، لكن السطر 11 لم يتم تنفيذه بعد.
‫هذا يعني أننا بحاجة إلى التقدم مرة أخرى حتى تتمكن من الضغط على f عشرة مرة أخرى للوصول إلى السطر التالي.
‫والخط 13.
‫لذلك تم تخطي السطر 12 لأنه لا يوجد شيء هناك ، ولا يوجد رمز هناك.
‫وذهبت للتو إلى هذا لكل حلقة.
‫ولكن الآن ماذا لو كنت تريد التعمق أكثر؟
‫إذن ماذا لو كنت تريد معرفة ما حدث عندما تم استدعاء طريقة الحصول على أصدقاء الحفلة؟
‫ما يمكنك فعله هو العودة عن طريق سحب هذا السهم لأعلى.
‫لذا فأنا أسحبها لأعلى وأعود الآن إلى السطر 11 والآن يمكنني ذلك.
‫بدلاً من الضغط على F عشرة ، يمكنني التقدم بالضغط على F 11 حتى أتمكن من الضغط على F 11 وأدخل
‫طريقة الحصول على أصدقاء الحفلة ، مما يعني أننا الآن في السطر 18 ، مما يعني أننا الآن " داخل
‫استدعاء طريقة Get Party Friends.
‫وهنا يمكننا أيضًا أن نذهب.
‫خطوة بخطوة.
‫يمكننا التحقق من أصدقاء الحفلة.
‫يمكننا التحقق من قيمة أصدقاء الحفلة.
‫يمكنك أن ترى أن العد هو صفر.
‫إذن فهي قائمة فارغة ، وهذا يعني فقط أنه لا يوجد أي مدخلات في القائمة.
‫ثم لدينا هذه الحلقة البرية حيث نقارن الأشياء حتى نتمكن من الانتقال إلى السطر التالي ويمكننا
‫أن نرى أن عدد أصدقاء الحفلة كان صفرًا ونقارن 0 إلى 4 والصفر أقل من أربعة.
‫لذا فإن الحلقة البرية هي أو البرية صحيحة.
‫حتى نتمكن من الانتقال إلى السطر التالي وها نحن نتصل بـ Get Party Friend حتى نتمكن من التعمق
‫أكثر ، حتى نتمكن من الدخول إلى صديق الحفلة.
‫ويمكنك أن ترى الآن أننا بهذه الطريقة هنا.
‫لذا فإن الدخول في هذا النهج يعني الدخول في طريقة للخروج ، وهو التحول f 11 هو القفز من طريقة
‫ما.
‫ولكن الآن دعونا نلقي نظرة على استدعاء هذه الطريقة هنا.
‫يمكننا أن نرى أن لدينا اسمًا قصيرًا ، وهو Joe في هذه المرحلة.
‫ثم لدينا حلقة for هذه ، وها نحن ذا ، خطوة بخطوة في حلقة for هذه.
‫لذلك ، قمنا أولاً بتعيين المتغير ، ثم نقارن.
‫بمجرد أن تكون المقارنة صحيحة ، ننتقل إلى الحلقة for أو داخل الحلقة for.
‫ثم لدينا هذه العبارة إذا قارناها مرة أخرى ويمكننا أن نرى كما يبدو أن
‫الطول ثلاثة ليس أكبر من الطول أو أقصر طول من ثلاثة.
‫لذلك ثلاثة ليست كبيرة.
‫ثلاثة الآن هذه العبارة إذا لم تكن صحيحة ، لذلك انتقلت إلى التكرار التالي للحلقة for.
‫والآن ستقوم بتشغيل الحلقة for مرارًا وتكرارًا.
‫الآن يمكنك الخروج منه وما سيفعله هذا هو أنه سيخرج من تنفيذ هذه الطريقة ، وبعد ذلك
‫يمكنك الانتقال من هناك.
‫لكن ما تفعله بهذا هو أنك لا تنفذ حلقة for كما تفعل عادةً.
‫لذا إذا خرجت مرة أخرى ، سأحصل على حجة خارج نطاق الاستثناء.
‫لذلك عليك أن تكون حريصًا هنا على عدم التدخل والخروج طوال الوقت ، ولكن عليك استخدام هذه الأدوات
‫بشكل مقلق ويمكنك بالطبع الركض من هناك أو يمكنك التوقف عن تصحيح الأخطاء ، يمكنك إعادة تشغيل عملية التصحيح بأكملها لأننا
‫الآن لديك هذا الخطأ الصغير وربما لا تعرف كيفية إصلاحه.
‫لذا يمكننا إعادة تشغيل كل شيء ويمكننا الآن أن نذهب بالطبع مرة أخرى خطوة بخطوة.
‫ويمكننا.
‫تخطو ، تخطو ، تخطو حتى نصل إلى النقطة التي تعطينا فيها الأسماء.
‫يمكنك أن ترى الآن أننا في ميشيل.
‫ينتقل الآن إلى الاسم التالي في القائمة الآن حيث تنتقل أنجلينا إلى الاسم التالي في القائمة وهو كارلوس.
‫لذلك يمكنك أن ترى أنه يمكنك التحقق من كل متغير وحالة كل متغير في كل لحظة ، وهو أمر مهم
‫للغاية إذا كنت تريد معرفة الأشياء.
‫حسنا.
‫هذه هي الفكرة العامة لكيفية استخدام نقاط التوقف وكيفية البدء بعملية التصحيح.
‫في الفيديو التالي ، سننظر في كيفية إصلاح هذا الخطأ المنطقي من خلال رؤية المتغيرات وحالاتها
‫بطريقة أفضل.
‫لأنه يمكنني الآن ، بالطبع ، التمرير فوق المتغيرات ومعرفة القيمة التي تمتلكها في نقطة معينة.
‫لكني أريد مقارنة متغيرات متعددة في نفس الوقت ، أو رؤية حالة متغيرات متعددة في نفس
‫الوقت.
‫وهذا ما سنقوم بمراجعته في الفيديو التالي.
‫لذا أراك هناك.