עבודה עם קוד לגאסי – חלק ראשון: בדיקות!

עבודה עם קוד לגאסי – חלק ראשון: בדיקות!

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

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

מה עושים עם קוד לגסי?

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

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

ובכן, עכשיו צריך לעטוף בבדיקות.

האם צריך להבין בדיוק מה קורה שם בפנים? לא תמיד. מה שחשוב זה שמה שעבד ימשיך לעבוד. מתחילים לכתוב בדיקות וב assert לא חושבים יותר מדי לפני ששמים ערכים ב expected result. אפילו שמים בכוונה ערכים לא נכונים  כדי ללמוד.

מריצים את הבדיקות ורואים מה יוצא. מקבעים את התוצאות על ידי עדכון ה expected result.

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

כתיבת תגובה

סגירת תפריט