האתר של יוחאי

מוזמנים להכנס (:

המשך התקדמות עם הטופס טרייד אין של אפל׳ה

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

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

אבסטרקציה של document.querySelector

אם אני לא טועה, הפונצקייה שבה אני משתמש הכי הרבה ב-JS היא הפונקצייה הנ״ל, הלא היא פונקציית הבחירה של אלמנטים בדף. כל סקריפט מתחיל בבחירת האלמנטים, לוגיקה ואז מניפולציה או מה שרוצים לעשות בדף, לכן הגיוני לעשות אבסטרקציה לפונקציה הזו. אבל בעצם, הפונקציה הזו היא כבר סוג של אבסטרקציה למנגנון בחירת האלמנטים הוותיר יותר ב-JS שבו כל פונקצייה יודעת לבחור אלמנטים לפי מאפיין ספציפי (getElementByid, getElementByClassName וכו׳), אבל בגלל השימוש התכוף, למה לא לקצר את זה ל-query() או מה שעשו ב-jQuery פשוט סימן של דולר $. אז יש הרבה סיבות למה כן, ויש הרבה סיבות למה לא, אני החלטתי באופן גורף באתר לא לעשות אבסטרקציה נוספת, כי אני אוהב קוד ונילה שכל אחד יכול לקרוא אותו ולהבין אותו, בלי לרדת לעומקים של אבסטרקציות. במקרה הספציפי הזה, פשוט רציתי לראות איך זה מרגיש לעבוד עם אבטרקציה במקום עם ה-API ה״מקורי״. מרגיש מוזר.

אחרי הסקריפטים עברתי לסגנון (סגנון שם הפועל, לא שם העצם, יש תנועת שורוק ב-נ׳)

ואחרי ההרצאות המטריפות מ-CSS Day (שממש ממש ממולץ) לא יכולתי לכתוב את הסגנונות שלי כמו שכתבתי לפני, פשוט לא יכולתי.

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