מה עושה כאן סוכריה כחולה?

מה עושה כאן סוכריה כחולה?

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

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

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

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

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

הגדר של צ'סטרטון

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

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

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

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

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

ושלישית, לפעמים כדאי לשבור את הגדר, אבל בצורה שיטתית. אחת הגישות בחשיבה המצאתית שיטתית היא if it ain't broke – break it!. זה לא נכון בשגרה, אבל בהחלט יכול לעזור כשמנסים לחדש, כל עוד מקפידים שתהליך השבירה והבניה של גדרות חדשות יכלול בתוכו לא רק אינטואיציה, אלא גם תיקוף של התרומה של כל גדר חדשה בהשוואה לגדר המקורית ובהשוואה ליתר החלופות.

שבירה מוצלחת.