10 כללים של מתכנת מנוסה שאתה צריך לדעת

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

1. אל תחזור על עצמך

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

2. לא צריך הערות בקוד

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

3. השתמש בשמות משתנים בעלי משמעות

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

4. אמץ לעצמך מילים שרק אתה יודע כמצייני מקום בשבילך

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

5. עשה לך כלל לעשות גיבוי לפני כל שינוי, בשרת הלקוח

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

6. תהיה עקבי

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

7. כשאתה עושה שיפורים לקוד שלך תשתדל שימשיך לעבוד

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

8. אל תפחד לנסות בעצמך משהו שאחרים עשו

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

9. תמיד שתהיה לך חגורה של כלים עליך

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

10. כל שאר הדברים הרגילים

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

זהו, עשינו את זה. הגענו לסוף המאמר. עכשיו נלך לתכנת משהו. פעם הבאה נעשה רשימה של 5 דברים.