שלום לכולם.
אחד הפיתויים שאני נתקל בהם השכם והערב בעת בניית תוכנה, היא "לרמות" את המחשב. קשה לדעת מה בדיוק עומד מאחורי הפיתוי הזה, אולי זה להרגיש קצת עליונות על המחשב, שאפשר לרמות אותו והוא "קונה" כל לוקש, אבל זאת מציאות אנשים נהנים לרמות את המחשב..
דוגמאות רבות יש אצל משתמשי תג שמשתמשים בכל מיני קומבינות כדי להגיע לעימוד הרצוי, הזריזים והקפדנים שבמעמדים אינם מסכימים עם גישות כאלו. אם אתה משתמש תג מתחיל, אתה בוודאי אמור לדעת שכדי להוסיף רווח בין פיסקאות לא מוסיפים אנטרים אלא גוף שתפקידו ליצור ריווח. למעשה גם בוורד זה לא אמור להיות ככה, אבל בואו נשאיר את אנשי וורד ברמתם הנוכחית.
יהיה קשה ומיותר להעלות דוגמאות לרמאות ונוכלות בקוד, אז נלך ישירות לעיקר. היסוד הידוע מתחילת המדריך, הוא כלל פשוט להבנה, וקשה ליישום. קוד צריך להיכתב כדי שיהיה נקרא אחר כך. אתה כותב קוד לא רק למהדר, אלא גם לעצמך!!! שמעתי שקשה להתקבל כמתכנת בבנק (אני מדבר על מערכת הליבה שלהם ולא על דברים שחברות חיצוניות עושות עבורם כגון אתר אינטרנט וכדומה), בגלל הדרישות הגבוהות שיש להם בנושא הזה. בנק לא יכול להרשות לעצמו לכתוב קוד שמחר בבוקר לא יוכלו לעקוב אחריו.
בתוכנה, ממש כמו בעולם הפיזי, תמיד יש ספק וצרכן. השוק של המוצרים הממשיים אם הוא משוכלל דיו, אמור לחלק את העבודה בין ספקים וצרכנים עד למשתמש הקצה על ידי שרשרת אספקה שתהיה במקסימום היעילות שלה (זה כמובן מונח תיאורטי שאין אפשרות להגיע למקסימום שלו בעולם האמיתי אלא בקירוב בלבד ובתנאי שהשוק הוא אכן חופשי ומשוכלל ראו ויקיפדיה) כאשר ספק מתנהג בחוסר יעילות המערכת עשויה לפלוט אותו מהשוק (למעט בישראל אשר הממשלה והשוק שלה מנוהלים על ידי מספר מצומצם של גורילות שאינם נכללים בתיאוריה שנכתבה על בני אדם, בגרמניה למשל הכל דופק כמו שעון)
השוק של התוכנה שלנו מתחיל ממכרות של חומרי גלם בסיסיים (בינארי), ומשם הוא נשלח לשרשרת העיבוד (שפות תיכנות ברמות שונות) עד שהוא מגיע לחנות (UI)
למעשה נוכל למצות את הכלל שלנו בקצרה ממש, כדי שנוכל לעקוב אחר שרשרת האספקה, עלינו להיות קפדניים בכל שידוך שאנו עושים בין ספק לצרכן האם הצרכן באמת "רואה" את הספק שלו ככזה??? נחשוב אילו חנות של טמבור היתה מוכרת גם ביצים, אבל רק ביצים, היית הולך לחפש שם את הביצים? ממש לא! בן אדם שעושה קניה של מזון הוא הולך לסופר. אסור לדחוף קוד שלא מתאים בנושא שלו רק כדי לחסוך יצירת מחלקה או פונקציה וכדומה. גם אם נעלה בשרשרת האספקה נגלה שמפעל מוכר את השאריות והבלאי שלו, למפעל אחר שמתמחה במיחזור, הוא לא מנסה לטפל בזה לבד. מכונית או מחשב למעשה מיוצרים בעשרות מפעלים שונים (אם נחשב את תהליך הייצור החל ממכרות המינרלים) כאשר כל אחד מתמחה בתחום משלו.
אל תשברו את ההיגיון הזה, זהו האמצעי היעיל ביותר לעקוב אחרי הקוד שלכם.
בהצלחה.
פורסם במקור בפורום CODE613 ב27/04/2014 16:34 (+03:00)