חמישה טיפים לניקיון בין המשימות

10/10/2021

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

אז מה עושים? הנה 5 טיפים קצרים שיעזרו לשמור את הקוד שלכם נקי:

1. משדרגים תלויות

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

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

2. מעיפים קוד מיותר

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

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

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

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

3. מתקנים קוד גרוע

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

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

4. מוסיפים, מוחקים או מתקנים בדיקות

סט בדיקות ה End To End שלכם צריך קצת אהבה? הבדיקות לפעמים מצליחות ולפעמים נכשלות ואף אחד לא מבין למה? תהליכים מרכזיים במערכת לא נבדקים? לא צריך להרגיש רע בגלל זה - זה המצב אצל כולם. בדיקות End To End זה החלק במערכת שמתיישן הכי מהר ושצריך לנקות אותו בתדירות הגבוהה ביותר (כן בדיוק כמו השירותים אצלכם בבית).

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

5. משפרים תהליכי עבודה

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

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