• בלוג
  • הקוד המכוער ביותר שכתבתי

הקוד המכוער ביותר שכתבתי

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

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

1. טיפול בשגיאות מושאר כתרגיל לקורא

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

דוגמא? ברור:

const lastName = fullName.split(' ')[1];

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

2. סטנדרטים בשמות משתנים? הצחקתם אותי

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

function uploadFileAndQuit(file_name, valid_extension, cb) {
}

3. השתקת ה Linter

מטריקת השמה-הסתעפות-תנאי (או באנגלית Assignment, Branch, Condition) עוזרת לחשב כמה מסובכת פונקציה מסוימת. החישוב פשוט: נסכום את מספר ההשמות A, מספר ההתעפויות החוצה (קריאות לפונקציות חיצוניות או מתודות אחרות) B ואת מספר התנאים C ונתבונן בערך:

|ABC| = sqrt((A*A)+(B*B)+(C*C))

התוצאה אומרת משהו על מסובכות הפונקציה שכתבתם. אני משתדל לא לעבור את ה-20 ברוב הקוד שאני כותב, ובשביל לוודא את זה יש לי תוסף ל vim שמריץ את רובוקופ, תוכנה שמוודאת עמידה בסטנדרטים של קוד ובין השאר בודקת את כלל ABC. תוכנות כאלו נקראות Linters.

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

מה אתם עושים כשמתחשק לכם לכתוב קוד מכוער? ספרו על זה בתגובות.