הנך נמצא: מדריך מתקדם / שיעור 5 / דף 4
 


המדריך של תאו ל- JavaScript
 


דפים בשיעור זה:
1: JavaScript מתקדם
2: הדפסת משתנים
3: טעויות תכנות נפוצות
4: תיקון באגים
5: תרגול קידוד טוב
6: ייעול ה-JavaScript
7: מה קורה הלאה?
|
|
|
|
|
|
|
|

שיעור 5

דף 4: תיקון באגים.

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

תחילה, העתק את התכנית שלך.

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

היזהר מקידוד וודו (voodoo coding).

לפעמים אתה יודע כי באג קיים, אבל לא ממש יודע למה? נאמר שיש לך משתנה הנקרא "index", ומסיבה כלשהי "index" הוא בעל ערך אחד פחות ממה שאתה חושב שהוא צריך להיות. אתה יכול לעשות אחד משניים: לשבת זמן מה ולהבין מדוע בעצם המשתנה קצר יותר, או רק למשוך בכתפיים, להוסיף אחד ל-index לפני השימוש בו, ולהמשיך הלאה. המתודה השנייה נקראת תכנות וודו. כאשר אתה מתחיל לחשוב – "מה לעזאזל? מדוע ה-index הוא שניים במקום שלוש? טוב.. אני רק אגרום לזה לעבוד עכשיו ואתקן זאת מאוחר יותר ..." אתה שם פלסטר על פצע פוטנציאלי חמור מאוד.

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

חפש אחר באגים זהים.

בדרכים מסוימות, היכולת לחתוך ולהדביק קוד היא הדבר הגרוע ביותר עבור המתכנת. לעיתים קרובות, תרשום JavaScript בתוך פונקציה אחת ואז תחתוך ותדביק אותה בפונקציה אחרת. ואם לפונקציה הראשונה היו בעיות, כעת יש לך בעיות בשתי פונקציות. אני לא טוען כי אסור לחתוך ולהדביק קודים. אך לבאגים יש דרך להכפיל את עצמם, אז אם אתה מוצא אחד, עליך לחפש אחר אחרים שהם זהים. (או פשוט לוודא היטב כי משהו עובד לפני שאתה מייצר עוד גרסאות משוכפלות ממנו). שמות משתנים אשר אויתו לא נכון הם מסוג הדברים אשר צצים מספר פעמים בקוד JavaScript אחד – אם תאיית את the_name כ- teh_name במקום אחד, רוב הסיכויים הם שעשית זאת גם במקום אחר.

אם הכול נכשל ...

אם אתה יושב פה, בוהה בבאג, ואתה פשוט אינך מצליח להבין מה קורה (או שאפילו לא מצאת את הבאג ספציפית מלכתחילה, אבל אתה יודע שהוא שם משום שהתכנית שלך אינה עובדת טוב), הדבר הטוב ביותר שיש לעשות הוא להתרחק מהמחשב שלך. לך קרא ספר, צא לסיבוב בחוץ, קח לך קינוח טעים – עשה משהו, כל דבר, אך אל תחשוב על התכנית או על הבעיה. טכניקה זו נקראת "דגירה" במספר מעגלים, והיא עובדת פשוט נהדר. לאחר שתעשה הפסקה קצרה ותנוח, נסה למצוא את הבאג שנית. אתה תיגש לבעיה עם ראייה מרועננת אשר לעיתים קרובות היא די שופכת אור. ה"דגירה" עובדת משום שזה לוקח אותך מכל ה – (האם אעיז לומר זאת, הא?) אי התפקוד המוחי. אם אתה הולך בדרך לא נכונה יותר מידי, אתה לפעמים נתקע במקום בו אתה לא יכול להסתובב חזרה. הדבר הכי נכון לעשות כאשר דבר כזה קורה הוא למצוא דרך להתחיל שביל חדש. אני יודע שזוהי הרגשה פגועה, אבל זה עובד. באמת!

ואם גם זה לא עובד ...

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

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

חזור לתחילת הדף

לדף הבא «--

 
       
       
   
 
 

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