מדריך ארכיטקטורת תוכנה שיעור 5 - היזהרו מקובמינות!!!
-
שלום לכולם.
אחד הפיתויים שאני נתקל בהם השכם והערב בעת בניית תוכנה, היא "לרמות" את המחשב. קשה לדעת מה בדיוק עומד מאחורי הפיתוי הזה, אולי זה להרגיש קצת עליונות על המחשב, שאפשר לרמות אותו והוא "קונה" כל לוקש, אבל זאת מציאות אנשים נהנים לרמות את המחשב..
דוגמאות רבות יש אצל משתמשי תג שמשתמשים בכל מיני קומבינות כדי להגיע לעימוד הרצוי, הזריזים והקפדנים שבמעמדים אינם מסכימים עם גישות כאלו. אם אתה משתמש תג מתחיל, אתה בוודאי אמור לדעת שכדי להוסיף רווח בין פיסקאות לא מוסיפים אנטרים אלא גוף שתפקידו ליצור ריווח. למעשה גם בוורד זה לא אמור להיות ככה, אבל בואו נשאיר את אנשי וורד ברמתם הנוכחית.
יהיה קשה ומיותר להעלות דוגמאות לרמאות ונוכלות בקוד, אז נלך ישירות לעיקר. היסוד הידוע מתחילת המדריך, הוא כלל פשוט להבנה, וקשה ליישום. קוד צריך להיכתב כדי שיהיה נקרא אחר כך. אתה כותב קוד לא רק למהדר, אלא גם לעצמך!!! שמעתי שקשה להתקבל כמתכנת בבנק (אני מדבר על מערכת הליבה שלהם ולא על דברים שחברות חיצוניות עושות עבורם כגון אתר אינטרנט וכדומה), בגלל הדרישות הגבוהות שיש להם בנושא הזה. בנק לא יכול להרשות לעצמו לכתוב קוד שמחר בבוקר לא יוכלו לעקוב אחריו.
בתוכנה, ממש כמו בעולם הפיזי, תמיד יש ספק וצרכן. השוק של המוצרים הממשיים אם הוא משוכלל דיו, אמור לחלק את העבודה בין ספקים וצרכנים עד למשתמש הקצה על ידי שרשרת אספקה שתהיה במקסימום היעילות שלה (זה כמובן מונח תיאורטי שאין אפשרות להגיע למקסימום שלו בעולם האמיתי אלא בקירוב בלבד ובתנאי שהשוק הוא אכן חופשי ומשוכלל ראו ויקיפדיה) כאשר ספק מתנהג בחוסר יעילות המערכת עשויה לפלוט אותו מהשוק (למעט בישראל אשר הממשלה והשוק שלה מנוהלים על ידי מספר מצומצם של גורילות שאינם נכללים בתיאוריה שנכתבה על בני אדם, בגרמניה למשל הכל דופק כמו שעון)
השוק של התוכנה שלנו מתחיל ממכרות של חומרי גלם בסיסיים (בינארי), ומשם הוא נשלח לשרשרת העיבוד (שפות תיכנות ברמות שונות) עד שהוא מגיע לחנות (UI)
למעשה נוכל למצות את הכלל שלנו בקצרה ממש, כדי שנוכל לעקוב אחר שרשרת האספקה, עלינו להיות קפדניים בכל שידוך שאנו עושים בין ספק לצרכן האם הצרכן באמת "רואה" את הספק שלו ככזה??? נחשוב אילו חנות של טמבור היתה מוכרת גם ביצים, אבל רק ביצים, היית הולך לחפש שם את הביצים? ממש לא! בן אדם שעושה קניה של מזון הוא הולך לסופר. אסור לדחוף קוד שלא מתאים בנושא שלו רק כדי לחסוך יצירת מחלקה או פונקציה וכדומה. גם אם נעלה בשרשרת האספקה נגלה שמפעל מוכר את השאריות והבלאי שלו, למפעל אחר שמתמחה במיחזור, הוא לא מנסה לטפל בזה לבד. מכונית או מחשב למעשה מיוצרים בעשרות מפעלים שונים (אם נחשב את תהליך הייצור החל ממכרות המינרלים) כאשר כל אחד מתמחה בתחום משלו.אל תשברו את ההיגיון הזה, זהו האמצעי היעיל ביותר לעקוב אחרי הקוד שלכם.
בהצלחה.
פורסם במקור בפורום CODE613 ב27/04/2014 16:34 (+03:00)
-
אם אין אפשרות ללַיֵיק - נדבר...
ארכיטקט, פשוט תודה רבה
עמדתי השבוע לפני כתיבה של תוכנה חדשה, מסד נתונים.
הדפסתי לעצמי את סדרת המדריכים הזו, קראתי, התעמקתי, התענגתי, ואז התיישבתי לתכנן את הארכיטקטורה הכללית והפרטנית
איזה כיף היה ליישם!אז פשוט תודה!
פורסם במקור בפורום CODE613 ב06/07/2014 04:15 (+03:00)
-
שווה כל שקל!!!
החיים שלך ישתנו ביום שתקרא אותו, הוא הצליח לסדר את כל האינטואיציות שאתה צובר במהלך השנים, לכדי ספר מסודר וערוך בטוב טעם. ועוד הרבה יותר מזה, יש לך שם דברים שפתאום אתה מבין איך זה נגזר בצורה מסודרת אחד מהשני מהשלישי והרביעי וכו'.
חכמה בגויים תאמין!!!!!!!
פורסם במקור בפורום CODE613 ב13/06/2015 23:15 (+03:00)
-
אני קורא בו כל יום והוא ספר טוב מאוד אבל רק מי שכבר בנה כמה תוכנות יבין על מה הוא בעצם מדבר ולמה הוא כל כך 'מתעקש' על כל מיני דברים.
הכלל העולה מהספר הוא שצריך לתפוס את הכללים וממילא תשלוט גם בפרטים ועוד דבר תחלק את העבודה לחלקים קטנים באופן שכל פעם תוכל להתמקד בדבר אחד קטן ולא מורכב.
ספר זה הוא ריכוז של המון חכמה ונסיון של המון אנשים אחרים במשך עשרות שנים.פורסם במקור בפורום CODE613 ב22/07/2015 00:31 (+03:00)
-
אבל עדיין לא הספקתי לקנות יותר מכמה עמודים מחוסר זמן.
אולי בחופש.... :lol: :lol: :lol: :lol:אתה מתכוון "לקרוא" כמובן :lol: :lol:
רחמים, ברוך הבא!!
אמנם איננו מכירים אבל מכותלי הפורום ניכר שמתכנת מקצועי אתה,
ותהיה לחברי הפורום לעזר רב!!פורסם במקור בפורום CODE613 ב22/07/2015 09:58 (+03:00)