تعرّف على نصائح لتصحيح التعليمات البرمجية وإصلاح الأخطاء في MIT App Inventor
هذه هي أنشطة هذا الدرس:
ما هو التصحيح؟
تصحيح الأخطاء هي العملية التي يستخدمها المبرمجون لاكتشاف سبب عدم عمل شفرتهم البرمجية ومن ثم إصلاحها حتى تعمل.
جاء مصطلح تصحيح الأخطاء من الأدميرال غريس هوبر، وهي رائدة في مجال الحوسبة. فقد كانت تعمل على كمبيوتر Mark II في جامعة هارفارد في الأربعينيات من القرن العشرين، وعلقت فراشة في الكمبيوتر وأوقفته عن العمل.
للتخلص من العثة، قالت إنهم كانوا "يصححون أخطاء" النظام. يستخدم المبرمجون هذا المصطلح الآن ليعني "إصلاح الأخطاء في التعليمات البرمجية".
نصائح الترميز
غالبًا ما يكون تصحيح الأخطاء هو الجزء الأكثر إحباطًا واستهلاكًا للوقت في البرمجة، لذا من المهم حقًا أن تترك له متسعًا من الوقت!
وأيضًا التحلي بالصبر!
القطع الصغيرة
يميل المبرمجون أحيانًا إلى برمجة تطبيقهم بالكامل دفعة واحدة، ثم اختباره.
لا تنخدع بهذا الإغراء!!!
إذا لم يعمل شيء ما بشكل صحيح، وهو أمر محتمل، فمن الصعب معرفة من أين تبدأ حتى في محاولة إصلاح الخطأ.
قسِّم ترميز تطبيقك إلى أجزاء صغيرة.
اجعل شيئًا واحدًا يعمل قبل البدء في الشيء التالي.
برمج قليلاً، واختبر قليلاً، وتأكد من عمله، ثم برمج أكثر قليلاً، واختبر أكثر قليلاً، إلخ.
على سبيل المثال، إذا كان تطبيقك يحتوي على 5 أزرار تقوم جميعها بأشياء مختلفة,
- برمجة الإجراء الخاص بالزر الأول
- ثم اختبرها للتأكد من أنها تعمل.
- الانتقال إلى الزر الثاني
- كرر.
من الأفضل إصلاح التعليمات البرمجية في مكان واحد بدلاً من العودة وإصلاحها في 5 أماكن إذا كان هناك خطأ في التعليمات البرمجية.
التحكم في الإصدار
لنفترض أنك تتبع قاعدة "الأجزاء الصغيرة" ولديك جزء واحد من تطبيقك مبني ويعمل.
تضيف بعض التعليمات البرمجية الجديدة وفجأة يتوقف كل شيء عن العمل.
أوه لا!
تحاول حذف الرمز الجديد ولكن تطبيقك لا يزال لا يعمل. لست متأكدًا من الخطأ الذي حدث وتتمنى لو كان لديك زر "تراجع".
لتجنب مثل هذه السيناريوهات يمكنك حفظ إصدارات من تطبيقك أثناء عمل الأجزاء.
بهذه الطريقة إذا ارتكبتَ خطأً ولم تعرف كيفية إصلاحه، يمكنك العودة إلى آخر نسخة صالحة للعمل قمتَ بحفظها.
يمكنك أيضًا استخدام التحكم في الإصدار لتجربة ميزات جديدة دون القلق بشأن كسر تطبيقك العامل.
هناك طريقتان لحفظ إصدارات مختلفة في App Inventor، باستخدام "حفظ باسم" و "نقطة تفتيش".
"نقطة تفتيش" سيحفظ نسخة بالاسم الذي تعطيه لها، لكنك ستواصل العمل في النسخة الأصلية. والفكرة هي أن "تحقق" تلك النسخة التي تعمل وتواصل تطويرك في النسخة الرئيسية من المشروع.
ال "حفظ المشروع باسم" سينشئ الخيار نسخة من الشيفرة التي تعمل عليها ويحفظها باسم جديد. أي تعديلات تجريها ستكون في النسخة الجديدة.
كتل الانهيار
تجميع الكتل هو طريقة للحفاظ على تنظيم شيفرتك البرمجية، حيث تبدأ مساحة عمل شيفرتك البرمجية بالازدحام بالكتل.
إذا نقرت بزر الفأرة الأيمن على أحد المكوِّنات، سترى خيارًا لطيها.
لتوسيع مكوِّناتك مرة أخرى، انقر بزر الماوس الأيمن عليها وحدد توسيع المكوِّن.
ستضغط الكتل المنهارة إلى شريط واحد على شاشتك.
لا تزال تعمل بنفس طريقة عمل المكوِّنات العادية، ولكنها تشغل مساحة أقل. قد يكون هذا مفيدًا إذا كان لديك مكوِّنات لم تعد بحاجة إلى تحريرها وتريد تنظيف شاشتك
تعطيل الكتل المعطلة
يمكنك أيضًا تعطيل الكتل.
تظل على شاشتك ولكنها لا تعمل في التطبيق.
باستخدام الكتل المعطلة، يمكنك اختبار تطبيقك بدون كتل شيفرة معينة. يمكنك تمكينها لاحقًا وستعمل.
يمكنك أيضًا تعطيل المكوِّنات التي استخدمتها للاختبار فقط، مثل التنبيهات.
هناك طريقتان لتعطيل الكتل في مخترع التطبيقات
سيؤدي سحب الكتل ببساطة من كتلة معالج الحدث إلى تعطيلها ومنعها من العمل. نظرًا لأنها ليست جزءًا من أي حدث، فلا توجد طريقة لتنفيذها أبدًا. يمكنك دائمًا إعادتها مرة أخرى لاستخدامها.
يمكنك أيضًا النقر بزر الماوس الأيمن على مكوِّن أو مجموعة مكوِّنات واختيار "تعطيل المكوِّن". ستظهر الكتل باللون الرمادي لإظهار أنها لن تُنفَّذ. بهذه الطريقة يمكنك تعطيل مجموعة كاملة من المكوِّنات.
لتمكين مكوِّناتك مرة أخرى، ما عليك سوى النقر بزر الماوس الأيمن واختيار "تمكين المكوِّن".
التعليقات
غالبًا ما يترك المبرمجون تعليقات في شيفرتهم البرمجية لشرح ما تفعله.
يمكن أن تكون التعليقات مفيدة عندما ينظر أشخاص آخرون إلى الكود الخاص بك، مثل زملائك في الفريق والموجهين والحكام.
يمكن أن تساعدك التعليقات أيضًا إذا عدت إلى شفرتك لاحقًا ونسيت ما تفعله أجزاء منها.
لإضافة تعليق، انقر بزر الماوس الأيمن على المكوِّنات وحدد "إضافة تعليق".
بعد ذلك، ستظهر علامة استفهام في زاوية المكوِّن ويمكنك إضافة نص. يمكنك عرض التعليق بالنقر على علامة الاستفهام.
نصيحة الموجه
أفضل الممارسات الممارسات: التعليقات هي أكثر شيء مفيد في البرمجة.
كانت هناك العديد من المرات التي قام فيها المبرمج بترميز شيء ما ثم ذهب إلى النوم وعاد في صباح اليوم التالي ولم يكن لديه أي فكرة عما كان يفعله في الليلة السابقة. اكتب التعليقات دائمًا!
It’s also a great way to check your knowledge, because if your coding blocks are easy to comment on then you must understand them really well! Another thing to be aware of is that <, >, =, ≤, ≥ are hard for students for the first time (and for programmers who are years into their careers). When we set a math statement to < when it should be ≤ this is called an “off by one” error and this is a problem that happens to developers with 20 years of experience 😛 It is a very popular problem so be on the lookout for that.
أفضل أنواع تصحيح الأخطاء هو تصحيح أخطاء البطة المطاطية! هذا هو المكان الذي تكون فيه عالقًا حقًا في التعليمات البرمجية الخاصة بك ولا معنى لها. تريد أن تأخذ بعض الوقت للتحدث مع شخص آخر لترى إن كان بإمكانه اكتشاف المشكلة ولكن للأسف لا يوجد أحد في الجوار! لذلك لديك بطة مطاطية موثوقة على مكتبك وتشرح المشكلة بصوت عالٍ لصديقك البطة. ولكن عليك أن تفعل ذلك بعبارات بسيطة للغاية حتى يفهموا المشكلة ثم بعد ذلك ستجد المشكلة بنفسك! جميع زملائي في العمل لديهم بط مطاطي على مكاتبنا ونفعل ذلك كثيرًا!
أسئلة إرشادية لطرحها على الطلاب كم من الوقت برأيك يستغرق المبرمجون المتمرسون في تصحيح الأخطاء؟ قد تظن أن بإمكانهم أن يصبحوا سريعين جداً في ذلك، لكن كل موقع كبير لديه صفحات مخصصة لمعرفة المدة التي تستغرقها الأخطاء(فيسبوك على سبيل المثال)، كما أنها ستظهر أيضاً إذا كانت أي من صفحاتها معطلة/معطلة وهم يقومون بتصحيح الأخطاء حالياً(فيسبوك على سبيل المثال).
كيف يمكنك العثور على الأخطاء؟ (الكثير والكثير من الاختبارات!) ما مقدار الاختبار الذي تعتقد أنه يجب عليك القيام به؟ ما مقدار الاختبار الذي يجب أن تطلب من الآخرين القيام به؟
كيف تعرف أنك عثرت على خطأ ما؟ في بعض الأحيان قد تقضي وقتًا طويلاً في النقر على صورة ما لتدرك أن الزر الذي من المفترض أن تنقر عليه موجود أسفل الصورة. هل هذا خطأ؟ إنه خيار تصميمي قام به صانع التطبيق ولا يعتقدون أنه خطأ ولكنك قد تعتقد أنه خطأ.
يتم توفير نصائح الموجهين من خلال الدعم المقدم من AmeriCorps.
إرشادات التنظيف
الإعلامات والتسميات
جهاز تنبيه المُنبِّه مساعدتك في معرفة سبب تعطّل شيفرتك.
لوضع مخبر في تطبيق App Inventor الخاص بك اسحبه من لوحة واجهة المستخدم.
أسهل طريقة لاستخدام المُنبِّه هي إضافة كتل ShowAlert التي تحتوي على معلومات لترى أن كتلًا معينة قد تم تشغيلها (أو لم يتم تشغيلها).
بالإضافة إلى الرسائل، يمكنك عرض معلومات مثل قيمة المتغير أو موضع ImageSprite.
يمكنك أيضًا إضافة ملصقات لعرض المعلومات الحالية في تطبيقك.
على سبيل المثال، قد ترغب في معرفة قيمة متغير ما عند وقوع أحداث معينة أثناء تشغيل التطبيق.
يمكنك تعيين Label.Text إلى أي شيء تريد معرفته وسيتم عرضه على تطبيقك.
بمجرد تصحيح الخطأ، يمكنك إما جعل التسمية غير مرئية، أو حذفها تمامًا من تطبيقك.
افعلها
ال القيام بذلك أداة رائعة أخرى لتصحيح الأخطاء.
أثناء الاختبار المباشر لتطبيقك، إما باستخدام الهاتف وتطبيق AI Companion، أو باستخدام المحاكي، يمكنك الوصول إلى أمر جديد، "افعلها".
الأمر غير نشط حتى تتصل بهاتف أو المحاكي من خلال قائمة الاتصال.
يتيح لك القيام بذلك تشغيل كتلة دون الحاجة إلى التفاعل مع التطبيق نفسه، حتى تتمكن من رؤية القيمة الحالية لمتغير أو عنصر ما.
فقط اسحب كتلة متغير "الحصول على متغير عام" وانقر بزر الماوس الأيمن. حدِّد "تنفيذ" من القائمة المنسدلة وستُنفَّذ تلك الكتلة البرمجية.
سيظهر مربع "افعلها" أصفر فوق المربع بالنتيجة. يمكن أن يعمل هذا مع أي خاصية مكون أيضًا!
يمكنك أيضًا استخدام Do It لتغيير شيء ما في تطبيقك. على سبيل المثال، قد ترغب في تغيير عنصر في قائمة. اسحب المكوِّن للقيام بذلك، وحدد افعلها. لن ترى النتيجة، ولكن سيتم تحديث القائمة داخل تطبيقك.
يمكنك أيضًا تشغيل كتلة تعليمات برمجية موجودة في تطبيقك.
على سبيل المثال، هنا سيتم تحديث عناصر ListView هنا باستخدام Do It. سينعكس ذلك في التطبيق. سيعرض ListView العناصر الجديدة التي تم تعيينها باستخدام الأمر Do It.
استخدام بيانات الاختبار
إذا كان لديك الكثير من المعلومات لاستخدامها في تطبيقك، فقد يكون من المفيد استخدام بيانات الاختبار. بيانات الاختبار هي مجموعة أبسط وأصغر من البيانات التي يمكنك استخدامها للتأكد من أن تطبيقك يعمل بشكل صحيح.
لنفترض أنك تقوم بإنشاء تطبيق يعرض المطاعم القريبة. أنت تستخدم جداول بيانات جوجل لتخزين معلومات المطاعم.
يمكنك البدء بمطعم اختبار واحد أو مطعمين فقط واختبار تطبيقك للتأكد من عمله.
بمجرد اختباره وعمله، يمكنك إضافة المجموعة الكاملة لبيانات المطعم إلى ورقة Google الخاصة بك.
تغيير الخصائص
إذا كنت تختبر تطبيقك بشكل مباشر، يمكنك تغيير قيمة خاصية في المصمم أثناء تشغيل التطبيق ورؤية تأثيراتها.
قد يساعد ذلك في بعض الأحيان في الكشف عن المشكلة.
على سبيل المثال، قد تقوم ببرمجة لعبة. لا يبدو لك موضع العفريت صحيحًا على هاتفك عندما يكون قيد التشغيل.
أثناء الاختبار المباشر، يمكنك
- انتقل إلى المصمم
- تغيير قيم X و Y للعفريت
- سيتغير موضع العفريت على الشاشة في التطبيق قيد التشغيل.
استخدم هذا لاختبار وفهم الإحداثيات على شاشتك.
النشاط 1: إصلاح الخلل
إصلاح الأخطاء في تطبيق المؤقِّت
- قم بتحميل التطبيق في مخترع التطبيقات.
- اتصل بالمحاكي أو الجهاز لاختبار التطبيق.
- Try pressing Start without typing anything into the textbox. What happens?
- حاول إدخال 0 أو رقم سالب لعدد الثواني. ماذا يحدث؟
- إصلاح الخلل باستخدام الكتل الشرطية!
النشاط 2: إضافة تعليق
إضافة تعليق إلى مشروع "مخترع التطبيق" الخاص بك
أضف تعليقًا واحدًا على الأقل إلى تطبيقك يشرح ما تفعله مجموعة من الكتل. اختر مجموعة من الكتل التي تعتقد أنها الأصعب في فهمها لأن هذه الكتل قد تكون الأصعب على الأرجح بالنسبة لشخص آخر، مثل أحد أعضاء الفريق، لفهمها.
الانعكاس
يمكن أن تساعدك هذه النصائح عند البدء في ترميز تطبيق الهاتف المحمول الخاص بك لمشروعك Technovation.
لكن تذكّر...
مراجعة المصطلحات الرئيسية
- تصحيح الأخطاء - العملية التي يستخدمها المبرمجون لاكتشاف سبب عدم عمل شفرتهم البرمجية وإصلاحها
- التحكم في الإصدار - حفظ إصدارات العمل من تطبيقك أثناء تقدمك في العمل
- بيانات الاختبار - مجموعة أبسط من البيانات التي يمكنك استخدامها للتأكد من أن تطبيقك يعمل بشكل صحيح
- التعليقات - النص الذي يتم تضمينه في الكود لشرح ما يفعله
الموارد الإضافية
إليك المزيد من موارد تصحيح أخطاء التطبيقات المخترع.