تصحيح الكود الخاص بك في مخترع التطبيقات

تعرّف على نصائح لتصحيح التعليمات البرمجية وإصلاح الأخطاء في MIT App Inventor

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

تصحيح الأخطاء هي العملية التي يستخدمها المبرمجون لاكتشاف سبب عدم عمل شفرتهم البرمجية ومن ثم إصلاحها حتى تعمل.

جاء مصطلح تصحيح الأخطاء من الأدميرال غريس هوبر، وهي رائدة في مجال الحوسبة. فقد كانت تعمل على كمبيوتر Mark II في جامعة هارفارد في الأربعينيات من القرن العشرين، وعلقت فراشة في الكمبيوتر وأوقفته عن العمل.

للتخلص من العثة، قالت إنهم كانوا "يصححون أخطاء" النظام. يستخدم المبرمجون هذا المصطلح الآن ليعني "إصلاح الأخطاء في التعليمات البرمجية".

Grace Hopper

نصائح الترميز

dog looking at computer

غالبًا ما يكون تصحيح الأخطاء هو الجزء الأكثر إحباطًا واستهلاكًا للوقت في البرمجة، لذا من المهم حقًا أن تترك له متسعًا من الوقت!

وأيضًا التحلي بالصبر!

القطع الصغيرة

يميل المبرمجون أحيانًا إلى برمجة تطبيقهم بالكامل دفعة واحدة، ثم اختباره.

لا تنخدع بهذا الإغراء!!!

إذا لم يعمل شيء ما بشكل صحيح، وهو أمر محتمل، فمن الصعب معرفة من أين تبدأ حتى في محاولة إصلاح الخطأ. 

chunks of chocolate

قسِّم ترميز تطبيقك إلى أجزاء صغيرة. 

اجعل شيئًا واحدًا يعمل قبل البدء في الشيء التالي. 

برمج قليلاً، واختبر قليلاً، وتأكد من عمله، ثم برمج أكثر قليلاً، واختبر أكثر قليلاً، إلخ. 

على سبيل المثال، إذا كان تطبيقك يحتوي على 5 أزرار تقوم جميعها بأشياء مختلفة,

  1. برمجة الإجراء الخاص بالزر الأول
  2. ثم اختبرها للتأكد من أنها تعمل.
  3. الانتقال إلى الزر الثاني
  4. كرر.

من الأفضل إصلاح التعليمات البرمجية في مكان واحد بدلاً من العودة وإصلاحها في 5 أماكن إذا كان هناك خطأ في التعليمات البرمجية.

app with 5 buttons

التحكم في الإصدار

it began as a mistake

لنفترض أنك تتبع قاعدة "الأجزاء الصغيرة" ولديك جزء واحد من تطبيقك مبني ويعمل.

تضيف بعض التعليمات البرمجية الجديدة وفجأة يتوقف كل شيء عن العمل. 

أوه لا!

تحاول حذف الرمز الجديد ولكن تطبيقك لا يزال لا يعمل. لست متأكدًا من الخطأ الذي حدث وتتمنى لو كان لديك زر "تراجع".

لتجنب مثل هذه السيناريوهات يمكنك حفظ إصدارات من تطبيقك أثناء عمل الأجزاء. 

بهذه الطريقة إذا ارتكبتَ خطأً ولم تعرف كيفية إصلاحه، يمكنك العودة إلى آخر نسخة صالحة للعمل قمتَ بحفظها.

يمكنك أيضًا استخدام التحكم في الإصدار لتجربة ميزات جديدة دون القلق بشأن كسر تطبيقك العامل.

هناك طريقتان لحفظ إصدارات مختلفة في App Inventor، باستخدام "حفظ باسم" و "نقطة تفتيش".

"نقطة تفتيش" سيحفظ نسخة بالاسم الذي تعطيه لها، لكنك ستواصل العمل في النسخة الأصلية. والفكرة هي أن "تحقق" تلك النسخة التي تعمل وتواصل تطويرك في النسخة الرئيسية من المشروع.

Project menu, checkpoint selected

ال "حفظ المشروع باسم" سينشئ الخيار نسخة من الشيفرة التي تعمل عليها ويحفظها باسم جديد. أي تعديلات تجريها ستكون في النسخة الجديدة.

project menu, save as selected

كتل الانهيار

تجميع الكتل هو طريقة للحفاظ على تنظيم شيفرتك البرمجية، حيث تبدأ مساحة عمل شيفرتك البرمجية بالازدحام بالكتل.

إذا نقرت بزر الفأرة الأيمن على أحد المكوِّنات، سترى خيارًا لطيها.

لتوسيع مكوِّناتك مرة أخرى، انقر بزر الماوس الأيمن عليها وحدد توسيع المكوِّن.

app inventor expanding a block

ستضغط الكتل المنهارة إلى شريط واحد على شاشتك.

لا تزال تعمل بنفس طريقة عمل المكوِّنات العادية، ولكنها تشغل مساحة أقل. قد يكون هذا مفيدًا إذا كان لديك مكوِّنات لم تعد بحاجة إلى تحريرها وتريد تنظيف شاشتك

collapsed block

تعطيل الكتل المعطلة

يمكنك أيضًا تعطيل الكتل.

تظل على شاشتك ولكنها لا تعمل في التطبيق.

باستخدام الكتل المعطلة، يمكنك اختبار تطبيقك بدون كتل شيفرة معينة. يمكنك تمكينها لاحقًا وستعمل.

يمكنك أيضًا تعطيل المكوِّنات التي استخدمتها للاختبار فقط، مثل التنبيهات.

هناك طريقتان لتعطيل الكتل في مخترع التطبيقات

سيؤدي سحب الكتل ببساطة من كتلة معالج الحدث إلى تعطيلها ومنعها من العمل. نظرًا لأنها ليست جزءًا من أي حدث، فلا توجد طريقة لتنفيذها أبدًا. يمكنك دائمًا إعادتها مرة أخرى لاستخدامها.

disabled block by dragging out of event block

يمكنك أيضًا النقر بزر الماوس الأيمن على مكوِّن أو مجموعة مكوِّنات واختيار "تعطيل المكوِّن". ستظهر الكتل باللون الرمادي لإظهار أنها لن تُنفَّذ. بهذه الطريقة يمكنك تعطيل مجموعة كاملة من المكوِّنات.

لتمكين مكوِّناتك مرة أخرى، ما عليك سوى النقر بزر الماوس الأيمن واختيار "تمكين المكوِّن".

التعليقات

غالبًا ما يترك المبرمجون تعليقات في شيفرتهم البرمجية لشرح ما تفعله. 

يمكن أن تكون التعليقات مفيدة عندما ينظر أشخاص آخرون إلى الكود الخاص بك، مثل زملائك في الفريق والموجهين والحكام.

يمكن أن تساعدك التعليقات أيضًا إذا عدت إلى شفرتك لاحقًا ونسيت ما تفعله أجزاء منها.

لإضافة تعليق، انقر بزر الماوس الأيمن على المكوِّنات وحدد "إضافة تعليق".

بعد ذلك، ستظهر علامة استفهام في زاوية المكوِّن ويمكنك إضافة نص. يمكنك عرض التعليق بالنقر على علامة الاستفهام.

أفضل الممارسات الممارسات: التعليقات هي أكثر شيء مفيد في البرمجة.

كانت هناك العديد من المرات التي قام فيها المبرمج بترميز شيء ما ثم ذهب إلى النوم وعاد في صباح اليوم التالي ولم يكن لديه أي فكرة عما كان يفعله في الليلة السابقة. اكتب التعليقات دائمًا!

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.

stylized A, AmeriCorps logo in navy

إرشادات التنظيف

الإعلامات والتسميات

جهاز تنبيه المُنبِّه مساعدتك في معرفة سبب تعطّل شيفرتك. 

لوضع مخبر في تطبيق App Inventor الخاص بك اسحبه من لوحة واجهة المستخدم.

ShowAlert example

أسهل طريقة لاستخدام المُنبِّه هي إضافة كتل ShowAlert التي تحتوي على معلومات لترى أن كتلًا معينة قد تم تشغيلها (أو لم يتم تشغيلها).

بالإضافة إلى الرسائل، يمكنك عرض معلومات مثل قيمة متغير أو موضع ImageSprite.

يمكنك أيضًا إضافة ملصقات لعرض المعلومات الحالية في تطبيقك. 

على سبيل المثال، قد ترغب في معرفة قيمة متغير ما عند وقوع أحداث معينة أثناء تشغيل التطبيق. 

يمكنك تعيين Label.Text إلى أي شيء تريد معرفته وسيتم عرضه على تطبيقك. 

بمجرد تصحيح الخطأ، يمكنك إما جعل التسمية غير مرئية، أو حذفها تمامًا من تطبيقك.

افعلها

 ال القيام بذلك أداة رائعة أخرى لتصحيح الأخطاء.

أثناء الاختبار المباشر لتطبيقك، إما باستخدام الهاتف وتطبيق AI Companion، أو باستخدام المحاكي، يمكنك الوصول إلى أمر جديد، "افعلها".

الأمر غير نشط حتى تتصل بهاتف أو المحاكي من خلال قائمة الاتصال.

يتيح لك القيام بذلك تشغيل كتلة دون الحاجة إلى التفاعل مع التطبيق نفسه، حتى تتمكن من رؤية القيمة الحالية لمتغير أو عنصر ما. 

 

فقط اسحب كتلة متغير "الحصول على متغير عام" وانقر بزر الماوس الأيمن. حدِّد "تنفيذ" من القائمة المنسدلة وستُنفَّذ تلك الكتلة البرمجية.

Do it on pulldown menu

سيظهر مربع "افعلها" أصفر فوق المربع بالنتيجة. يمكن أن يعمل هذا مع أي خاصية مكون أيضًا!

Do it block result

يمكنك أيضًا استخدام Do It لتغيير شيء ما في تطبيقك. على سبيل المثال، قد ترغب في تغيير عنصر في قائمة. اسحب المكوِّن للقيام بذلك، وحدد افعلها. لن ترى النتيجة، ولكن سيتم تحديث القائمة داخل تطبيقك.

 

setting a list value with do it

يمكنك أيضًا تشغيل كتلة تعليمات برمجية موجودة في تطبيقك. 

على سبيل المثال، هنا سيتم تحديث عناصر ListView هنا باستخدام Do It. سينعكس ذلك في التطبيق. سيعرض ListView العناصر الجديدة التي تم تعيينها باستخدام الأمر Do It.

updating a listview with do it

استخدام بيانات الاختبار

إذا كان لديك الكثير من المعلومات لاستخدامها في تطبيقك، فقد يكون من المفيد استخدام بيانات الاختبار. بيانات الاختبار هي مجموعة أبسط وأصغر من البيانات التي يمكنك استخدامها للتأكد من أن تطبيقك يعمل بشكل صحيح.

لنفترض أنك تقوم بإنشاء تطبيق يعرض المطاعم القريبة. أنت تستخدم جداول بيانات جوجل لتخزين معلومات المطاعم.

يمكنك البدء بمطعم اختبار واحد أو مطعمين فقط واختبار تطبيقك للتأكد من عمله.

بمجرد اختباره وعمله، يمكنك إضافة المجموعة الكاملة لبيانات المطعم إلى ورقة Google الخاصة بك.

تغيير الخصائص

إذا كنت تختبر تطبيقك بشكل مباشر، يمكنك تغيير قيمة خاصية في المصمم أثناء تشغيل التطبيق ورؤية تأثيراتها.

قد يساعد ذلك في بعض الأحيان في الكشف عن المشكلة.

على سبيل المثال، قد تقوم ببرمجة لعبة. لا يبدو لك موضع العفريت صحيحًا على هاتفك عندما يكون قيد التشغيل.

أثناء الاختبار المباشر، يمكنك

  1. انتقل إلى المصمم
  2. تغيير قيم X و Y للعفريت
  3. سيتغير موضع العفريت على الشاشة في التطبيق قيد التشغيل. 

استخدم هذا لاختبار وفهم الإحداثيات على شاشتك.

game with sprites

استخدام الذكاء الاصطناعي للمساعدة في تصحيح الأخطاء

عند تصحيح الأخطاء في تطبيق MIT App Inventor، يمكن لأدوات الذكاء الاصطناعي مثل ChatGPT وGemini وClaude أن تساعدك في اكتشاف المشكلات التي يسهل تفويتها في بيئة قائمة على الكتل.

على سبيل المثال، إذا كان تطبيقك لا يستجيب للنقرات على الأزرار، يمكنك وصف كتل الأحداث للذكاء الاصطناعي وسؤاله عما إذا كان منطقك يبدو صحيحًا. غالبًا ما ستجد أنه سيلتقط أشياءً مثل الشروط في غير محلها أو التهيئة المفقودة.

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

استخدم الذكاء الاصطناعي كشريك لتصحيح الأخطاء لا يحل المشاكل فحسب، بل يساعدك على فهم سبب حدوثها!

girls looking at laptop during demo

النشاط 1: إصلاح الخلل

الوقت المقدر: 20 دقيقة

إصلاح الأخطاء في تطبيق المؤقِّت

هذا تطبيق المؤقِّت بها بعض الأخطاء

  1. قم بتحميل التطبيق في مخترع التطبيقات.
  2. اتصل بالمحاكي أو الجهاز لاختبار التطبيق.
  3. حاول الضغط على ابدأ دون كتابة أي شيء في مربع النص. ما الذي يحدث؟
  4. حاول إدخال 0 أو رقم سالب لعدد الثواني. ماذا يحدث؟
  5. إصلاح الخلل باستخدام الكتل الشرطية!

هذا هو أحد الحلول الممكنة.

block solution to timer app

النشاط 2: إضافة تعليق

الوقت المقدر: 10 دقائق

إضافة تعليق إلى مشروع "مخترع التطبيق" الخاص بك

إذا كنت قد بدأت تطبيقك النهائي لـ Technovation، فاستخدم هذا التطبيق لهذا النشاط. خلاف ذلك، استخدم تطبيق المؤقت من النشاط 1.

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

الانعكاس

يمكن أن تساعدك هذه النصائح عند البدء في ترميز تطبيق الهاتف المحمول الخاص بك لمشروعك Technovation.

لكن تذكّر...

الصورة مقدمة من DKJS فرانزيسكا شميت
البرمجة ليست سهلة.
من المحتمل ألا يعمل تطبيقك بشكل مثالي في البداية!
البرمجة في أجزاء صغيرة.
احتفل عندما تحصل على جزء صغير من تطبيقك للعمل.
خذ فترات راحة! في بعض الأحيان مجرد الابتعاد عن جهاز الكمبيوتر الخاص بك لبضع دقائق يمكن أن يمنحك منظوراً جديداً تحتاجه.

مراجعة المصطلحات الرئيسية

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

الموارد الإضافية