כשמתכנת נמצא בתחילת הקריירה שלו – הוא מתמקד יותר ב'לגרום לזה לעבוד'. אם הקוד עובד – הכל מעולה. אך בשלבים מאוחרים יותר של הקריירה, כאשר הניסיון מצטבר ואנחנו מכירים יותר את עולם התכנות (בניגוד לסינטקס של שפה שדווקא קל ללמוד אותה) – האתגר משתנה. אנחנו כבר יודעים לגרום לדברים לעבוד והפוקוס עובר לביצועים. האם קוד מסוים יצליח למלא את המשימה ביעילות רבה יותר או יותר נכון – איך האפליקציה שלי תעבוד יותר מהר.
מתכנתים יותר מנוסים יודעים שהאתגר האמיתי הוא לכתוב קוד טוב במובן שהוא גם עושה את העבודה (כאילו דההה), גם יעיל וגם ניתן לתחזוקה. מה זאת אומרת ניתן לתחזוקה? זאת אומרת שמתכנת אחר יוכל להבין אותו במהירות. שיהיה אפשר לשנות אותו בקלות. שיהיה אפשר להוסיף או להוריד רכיבים למערכת בלי שהיא תתפרק. בקיצור, קוד שהוא maintainable – ניתן לתחזוקה ושינוי בקלות. קוד כזה יכול להיות שווה המון המון כסף והשווי שלו נמדד בעיקר באפליקציות/תוכנות שנבנות ומתוחזקות לטווח ארוך. היכולת לכתוב קוד בנוי היטב היא מה שמבדיל בין מתכנת בינוני למתכנת טוב והיא השאיפה של כולנו.
ישנם מספר ספרים שיצאו בנושא וקריאה בהם מאפשרת לנו לבנות קוד טוב. המפורסם ביותר הוא הספר של ה GoF על תבניות עיצוב שמהווה קריאת חובה (או לפחות רפרוף חובה) לכל מי שעוסק ב-OOP. אבל ישנם עוד ספרים נוספים. לפני מספר ימים שמחתי מאוד לשמוע שאחד הספרים החשובים בתחום בשם Code complete שאותו (אני בוש לומר) לא הכרתי קודם, תורגם וזמין לקהל דובר העברית.
אני יכול לבלבל את המוח עוד ועוד – אבל ניתן לעיין בשני פרקים לדוגמה שזמינים בקישור הזה (PDF). תקראו אותם ותראו בעצמכם. אחד מהם, על תכנות מתגונן (דיפנסיבי) הוא פשוט מופת של פרק. הספר מיועד למתכנתים בכל השפות והקוד המופיע בו הוא קוד גנרי. גם אם אתם מפתחי ב-JS או בשפת שרת הכי איזוטרית שיש: הספר הזה יהפוך אתכם למתכנתים טובים הרבה יותר. בנוסף, הוא גם נעים מאוד לקריאה וקל מאוד לקרוא פרק ולשוטט בתוכו לפי הצורך. לא ממש חייבים לשבת ולקרוא אותו מא' ועד ת'.
אני בלעתי את הספר תוך כמה ימים בנשימה עצורה. בתור מתכנת שיש לו ניסיון ב-Enterprise, ממש ממש אהבתי את רוב הדוגמאות וההסברים וציטוט של מחקרים. המחבר לא רק מנפנף בכל מיני מתדולוגיות אלא מסביר בדיוק למה להשתמש בהן. למשל כי שימוש במתדולוגיה א' נמדד מחקרית כיותר יעיל. למשל.
אם אתם מעוניינים לרכוש את הספר (אני ממליץ) מתרגם הספר, אשר ברק, הביא לי גם קופון של 35% הנחה. איך מממשים? מקישים CC6174 באתר של ההוצאה או מולם טלפונית. אני ממליץ לכם בחום רב לקרוא את הספר.
גילוי נאות: קיבלתי עותק ללא תשלום. אבל אם הספר לא היה טוב, לא הייתי ממליץ עליו. אל תסמכו עלי, תסתכלו על הביקורות שיש על הספר באמאזון ותקראו את פרקי הדוגמה.