ניפוי באגים בקוד שלך ב-App Inventor

למד עצות לאיתור באגים בקוד שלך ותיקון שגיאות ב-MIT App Inventor

מה זה ניפוי באגים?

איתור באגים הוא התהליך שמקודדים משתמשים בהם כדי להבין מדוע הקוד שלהם לא עובד, ולאחר מכן לתקן אותו כך שהוא יעבוד.

המונח איתור באגים הגיע מאדמירל גרייס הופר, חלוצה בתחום המחשוב. היא עבדה על המחשב Mark II באוניברסיטת הרווארד בשנות הארבעים ועש נתקע במחשב ומנע ממנו לעבוד.

כשהיא נפטרת מהעש, היא אמרה שהם "מנפים באגים" במערכת. מתכנתים משתמשים במונח עכשיו בפירוש "תיקון שגיאות בקוד שלי".

גרייס הופר

טיפים לקידוד

כלב מסתכל על המחשב

איתור באגים יכול לעתים קרובות להיות החלק המתסכל והצורך ביותר בקידוד, אז זה באמת חשוב להשאיר הרבה זמן בשבילו!

וגם להתאזר בסבלנות!

חתיכות קטנות

לפעמים מתכנתים מתפתים לקודד את כל האפליקציה שלהם במכה אחת, ואז לבדוק אותה.

אל תיפול לפיתוי הזה!!!

אם משהו לא עובד כשורה, וזה סביר להניח, קשה להבין מאיפה להתחיל אפילו לנסות לתקן את השגיאה. 

נתחי שוקולד

חלק את הקידוד של האפליקציה שלך לגושים קטנים. 

קבל דבר אחד לעבוד לפני שמתחילים בדבר הבא. 

קוד קצת, בדוק קצת, אשר שזה עובד, ואז קוד קצת יותר, בדוק עוד קצת, וכו'. 

לדוגמה, אם לאפליקציה שלך יש 5 לחצנים שכולם עושים דברים שונים,

  1. קוד את הפעולה עבור הכפתור הראשון
  2. לאחר מכן בדוק כדי לוודא שזה עובד.
  3. עבור אל הכפתור השני
  4. לַחֲזוֹר עַל.

עדיף לתקן קוד במקום אחד מאשר לחזור ולתקן אותו ב-5 מקומות אם יש שגיאה בקוד שלך.

אפליקציה עם 5 כפתורים

בקרת גרסה

זה התחיל כטעות

נניח שאתה פועל לפי כלל ה"נתחים הקטנים" ושחלק אחד מהאפליקציה שלך בנוי ועובד.

אתה מוסיף איזה קוד חדש ופתאום הכל מפסיק לעבוד. 

הו לא!

אתה מנסה למחוק את הקוד החדש אבל האפליקציה שלך עדיין לא עובדת. אתה לא בטוח מה השתבש והלוואי שהיה לך כפתור "בטל".

כדי להימנע מתרחישים כמו זה, תוכל לשמור גרסאות של האפליקציה שלך כאשר חלקים יפעלו. 

כך אם אתה עושה טעות ואינך יודע כיצד לתקן אותה, תוכל לחזור לגרסת העבודה האחרונה ששמרת.

אתה יכול גם להשתמש בבקרת גרסאות כדי להתנסות בתכונות חדשות מבלי לדאוג לשבור את האפליקציה העובדת שלך.

ישנן שתי דרכים לשמור גרסאות שונות ב-App Inventor, באמצעות "שמירה בשם" ו"מחסום".

האפשרות " מחסום " תשמור עותק בכל שם שתיתן לו, אבל אתה ממשיך לעבוד במקור. הרעיון הוא "לבדוק" את הגרסה שעובדת ולהמשיך את הפיתוח שלך בגרסה הראשית של הפרויקט.

תפריט פרויקט, נקודת ביקורת נבחרה

האפשרות "שמור פרויקט בשם" תיצור עותק של הקוד עליו אתה עובד ותשמור אותו תחת שם חדש. כל עריכה שתבצע תהיה בעותק החדש.

תפריט הפרויקט, שמור כפי שנבחר

כווץ בלוקים

כיווץ בלוקים היא דרך לשמור על הקוד שלך מאורגן, שכן סביבת העבודה של הקוד שלך מתחילה להיות עמוסה בלוקים.

אם תלחץ לחיצה ימנית על בלוק, תראה אפשרות לכווץ אותו.

כדי להרחיב שוב את הבלוקים שלך, לחץ לחיצה ימנית עליהם ובחר הרחב בלוק.

ממציא אפליקציה מרחיב בלוק

בלוקים מכווצים ידחוסו אותו לפס אחד במסך.

הם עדיין עובדים כמו בלוקים רגילים, הם פשוט תופסים פחות מקום. זה יכול להיות שימושי אם יש לך בלוקים שאתה כבר לא צריך לערוך ואתה רוצה לנקות את המסך

בלוק ממוטט

השבת בלוקים

אתה יכול גם להשבית בלוקים.

הם נשארים על המסך שלך אבל לא פועלים באפליקציה.

עם בלוקים מושבתים, אתה יכול לבדוק את האפליקציה שלך ללא חסימות קוד מסוימות. אתה יכול להפעיל אותם מאוחר יותר והם יפעלו.

אתה יכול גם להשבית בלוקים שבהם השתמשת לבדיקה בלבד, כמו Notifiers.

ישנן שתי דרכים להשבית בלוקים ב-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.

A מסוגנן, לוגו AmeriCorps בצי

טיפים לניפוי באגים

הודעות ותוויות

רכיב Notifier יכול לעזור לך להבין מדוע הקוד שלך שבור. 

כדי לשים Notifier באפליקציית App Inventor שלך גרור אותו מעל לוח ממשק המשתמש.

דוגמה של ShowAlert

הדרך הקלה ביותר להשתמש ב-Notifier היא להוסיף בלוקים ShowAlert עם מידע כדי שתוכל לראות שחסימות מסוימות פעלו (או לא).

בנוסף להודעות, אתה יכול להציג מידע כמו הערך של משתנה או המיקום של ImageSprite.

אתה יכול גם להוסיף תוויות כדי להציג מידע עדכני באפליקציה שלך. 

לדוגמה, ייתכן שתרצה לדעת את הערך של משתנה כאשר אירועים מסוימים מתרחשים בזמן שהאפליקציה פועלת. 

אתה יכול להגדיר את Label.Text לכל מה שאתה רוצה לדעת והוא יוצג באפליקציה שלך. 

לאחר שניתקת באגים בשגיאה שלך, תוכל להפוך את התווית לבלתי נראית או למחוק אותה לגמרי מהאפליקציה שלך.

עשה זאת

 התכונה עשה זאת היא עוד כלי נהדר לניפוי באגים.

בזמן שאתה בודק את האפליקציה שלך בשידור חי, עם טלפון ואפליקציית AI Companion, או עם האמולטור, יש לך גישה לפקודה חדשה, "עשה זאת".

הפקודה מופיעה באפור עד שתתחבר לטלפון או לאמולטור דרך התפריט Connect.

Do it מאפשר לך להפעיל בלוק מבלי שתצטרך לקיים אינטראקציה עם האפליקציה עצמה, כך שתוכל לראות את הערך הנוכחי של משתנה או אלמנט. 

 

פשוט גרור החוצה בלוק משתנה "קבל גלובלי" ולחץ לחיצה ימנית. בחר "עשה זאת" מהתפריט הנפתח ובלוק הקוד הזה יבוצע.

עשה זאת בתפריט הנפתח

תיבת Do It צהובה תופיע מעל התיבה עם התוצאה. זה יכול לעבוד גם עבור כל נכס רכיב!

עשה זאת חסום תוצאה

אתה יכול גם להשתמש ב-Do It כדי לשנות משהו באפליקציה שלך. לדוגמה, ייתכן שתרצה לשנות פריט ברשימה. גרור החוצה את הבלוק כדי לעשות זאת, ובחר עשה זאת. לא תראה את התוצאה, אבל הרשימה תתעדכן בתוך האפליקציה שלך.

 

הגדרת ערך רשימה עם do it

אתה יכול גם להפעיל בלוק קוד קיים באפליקציה שלך. 

לדוגמה, כאן יעודכנו רכיבי ListView באמצעות Do It. זה יבוא לידי ביטוי באפליקציה. ListView יציג את הרכיבים החדשים שהוגדרו עם הפקודה Do It.

עדכון תצוגת רשימה עם עשה זאת

השתמש בנתוני בדיקה

אם יש לך מידע רב להשתמש באפליקציה שלך, זה יכול להיות מועיל להשתמש בנתוני בדיקה. נתוני בדיקה הם קבוצה פשוטה וקטן יותר של נתונים שבהם אתה יכול להשתמש כדי לוודא שהאפליקציה שלך פועלת כהלכה.

נניח שאתה יוצר אפליקציה שמציגה מסעדות סמוכות. אתה משתמש ב-Google Sheets כדי לאחסן את פרטי המסעדה.

אתה יכול להתחיל עם מסעדת בדיקה אחת או שתיים בלבד ולבדוק את האפליקציה שלך כדי לוודא שהיא עובדת.

לאחר בדיקה ועבודה, תוכל להוסיף את הסט המלא של נתוני המסעדה לגיליון Google שלך.

שנה מאפיינים

אם אתה בודק את האפליקציה שלך בזמן אמת, תוכל לשנות ערך נכס ב-Designer בזמן שאתה מפעיל את האפליקציה ותראה את ההשפעות שלה.

לפעמים זה יכול לעזור לחשוף בעיה.

לדוגמה, ייתכן שאתה מקודד משחק. המיקום של ספרייט לא נראה לך נכון בטלפון שלך כשהוא פועל.

בזמן בדיקה חיה, אתה יכול

  1. לך למעצב
  2. שנה את ערכי ה-X וה-Y של ה-Sprite
  3. המיקום של ה-Sprite על המסך באפליקציית הריצה ישתנה. 

השתמש בזה כדי לבדוק ולהבין קואורדינטות על המסך שלך.

משחק עם ספרייטים

פעילות 1: תקן את הבאג

זמן משוער: 20 דקות

תקן באגים באפליקציית טיימר

זֶה אפליקציית טיימר יש בו כמה באגים.

  1. טען את האפליקציה ל-App Inventor.
  2. התחבר לאמולטור או למכשיר כדי לבדוק את האפליקציה.
  3. Try pressing Start without typing anything into the textbox. What happens?
  4. נסה להזין 0 או מספר שלילי למשך מספר שניות. מה קורה?
  5. תקן את הבאגים באמצעות בלוקים מותנים!

פעילות 2: הוסף תגובה

זמן משוער: 10 דקות

הוסף הערה לפרויקט ממציא האפליקציות שלך

אם התחלת את האפליקציה האחרונה שלך עבור Technovation, השתמש באפליקציה זו לפעילות זו. אחרת, השתמש באפליקציית הטיימר מפעילות 1.

הוסף לפחות הערה אחת לאפליקציה שלך שמסבירה מה עושה קבוצת בלוקים. בחרו קבוצה של בלוקים שאתם חושבים שהכי קשה להבין אותם מכיוון שהבלוקים האלה כנראה יהיו הקשים ביותר למישהו אחר, כמו חבר צוות, להבין.

הִשׁתַקְפוּת

טיפים אלה יכולים לעזור לך כשאתה מתחיל לקוד את האפליקציה שלך לנייד עבור פרויקט Technovation שלך.

אבל זכרו…

תמונה באדיבות DKJS Franziska Schmitt
קידוד זה לא קל.
רוב הסיכויים שהאפליקציה שלך לא תעבוד בצורה מושלמת כדי להתחיל!
קוד בחתיכות קטנות.
תחגוג כשמכניסים חלק קטן מהאפליקציה לעבודה.
קח הפסקות! לפעמים התרחקות מהמחשב לכמה דקות יכולה לתת לך את נקודת המבט הרעננה שאתה צריך.

סקירה של תנאים עיקריים

  • איתור באגים - מקודדי התהליך משתמשים כדי להבין מדוע הקוד שלהם לא עובד ולתקן אותו
  • בקרת גרסאות - שמירת גרסאות עובדות של האפליקציה שלך תוך כדי התקדמות
  • נתוני בדיקה - קבוצה פשוטה יותר של נתונים שבה אתה יכול להשתמש כדי לוודא שהאפליקציה שלך פועלת כהלכה
  • הערות - טקסט שנכלל בקוד כדי להסביר מה הוא עושה

משאבים נוספים