מתי להשתמש בספריה חדשה

18/10/2020

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

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

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

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

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

נ.ב. גירסה יותר עדינה שעושים גם מתכנתים יחסית אחראיים נשמעת ככה: אני צריך להוסיף מנגנון Drag & Drop למערכת, אני לא יודע כלום על DnD אז אחפש ברשת ספריה קיימת של DnD לריאקט, אני רואה שיש הרבה התלהבות מ React DnD אז אשלב אותה אצלי בפרויקט. זו בדיוק אותה הטעות כמו לשלב את Vue במערכת רק בגלל שרציתם ללמוד Vue. רק בגלל שאתה צריך מנגנון Drag and Drop לא אומר שאתה צריך דווקא את ספריית React DnD.