עבדתי לא מזמן עם קבוצת פיתוח שם המתכנתים כותבים הרבה יישומונים קטנים, כולם ב React כל אחד עושה משהו קצת אחר. כל פעם שמישהו צריך להתחיל יישומון חדש (קורה יחסית לעתים קרובות) הוא או היא מפעילים create-react-app ומעתיקים כמה שורות של קוד תבנית מיישומון קיים אחר וגם מוסיפים קצת משלהם והם מוכנים לעבוד.
מיד הצעתי להם לנסות ליצור לעצמם תבנית ל create-react-app שתכלול את קוד התבנית שהם צריכים. אחרי בדיקה הסתבר שיש כמה דברים שהם צריכים שתבנית של create-react-app לא ממש יכולה לתת, ובשביל לבנות מנגנון כזה הם יצטרכו עכשיו לעשות התאמה לסקריפטים של cra או להוסיף עוד מנגנונים גנריים משלהם - ובקיצור סיפור. הם אמרו שינסו, אני חזרתי לעזור להם בדבר שבשבילו באתי ונפרדנו לשלום.
כמה חודשים אחרי זה נתקלתי בהם שוב - נו, שאלתי, "איך הלך עם ההתאמה של create-react-app?", והתשובה היתה קצת מפתיעה. החלק הצפוי הוא שהם באמת ניסו את הרעיון שלי לעשות התאמה של cra לצרכים שלהם וויתרו על זה די מהר. העסק היה מסובך מדי ותמיד היו דברים חשובים יותר לעשות. ברור שזה אחלה פיתרון אם זה היה עובד, אבל הוא דורש יותר מדי עבודה.
החלק המפתיע היה שבמקום להיכנס לקיפאון ולהמשיך להעתיק ביד קטעים מיישומון ליישומון, מישהו שם החליט להראות שהוא יודע יותר טוב וכתב סקריפט פשוט שבונה יישומון חדש. אין לזה את כל היכולות הגנריות של create-react-app, אבל זה מייצר להם בדיוק את התבנית שהם צריכים ומתממשק בדיוק למנגנונים שיש אצלם בקבוצה. והבונוס הוא שכתיבת כל העסק לקחה שעתיים במקום שבועות.
ותוך כדי שאני מקשיב לסיפור ורואה איך הסקריפט המאוד פשוט וספציפי הזה פתר להם בעיה אמיתית, יש לי קול כזה בתוך הראש שצועק "לא, זה לא הפיתרון הנכון, זה לא מספיק גנרי, מה אם תצטרכו ..."
אבל הם לא היו צריכים.
והקול הזה שרוצה את הפיתרון הכי מסובך, הכי גנרי והכי נכון הוא לפעמים הקול שמוביל אותנו לקיפאון - בזמן שאנחנו מחכים שיהיה זמן לממש את הפיתרון הכי נכון. במצב כזה ואם אפשר, פיתרון ביניים קצר וספציפי יכול להיות בדיוק זריקת המרץ שהיינו צריכים.