באגים בקוד של אחרים

07/11/2025

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

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

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

וכך נולדה שרשרת האמון שאנחנו צריכים לתעד בכל מערכת שנבנה:

  1. קוד שלי - אמון הכי גבוה, אני רואה את הקוד ושולט בסביבת הריצה.

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

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

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

הבעיה שאין התאמה בין רמת האמון הנדרשת לכמה קל להתחיל להשתמש במוצר: הכי קל לשלב מוצר ענן חדש במערכת שלי (הרבה פעמים זו רק קריאת API). להתקין ספריה חיצונית יהיה יותר קשה, לכתוב לבד עוד יותר קשה ולהתקין מערכת חדשה On Prem דורש לא רק קוד אלא גם משאבי מחשוב נוספים וניטור מה שהופך את זה לאופציה הכי פחות נגישה. וכמובן AI מסבך עוד יותר את התמונה כי עכשיו אני לא יודע מי כותב את הקוד ומה האיכות.

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