בתשובה לאייל קורא, 07/02/04 23:45
הפתרון הסופי 195753
יעילות היא תוצר של עיצוב טוב ואופטימייזר. שני דברים שלא קשורים באופן מהותי לתכנות עצמו.
בקוד יפה, אגב, אני בכלל לא מתכוון רק לקוד קריא. זה רק חלק מהעניין. קוד יפה, אלגנטי, זה קוד שהוא בראש ובראשונה קל לתחזוקה. זה הרי כל הקטע, שתכנות זה כבר לא איזה פרויקט אישי הנדסי שמצריך זכרון מעולה ויכולת לראות את כל המערכת בכל רגע נתון למול עיניך. תכנות זה מתודולוגיה.
כשאני מראיין תוכניתן הדבר הראשון שמעניין אותי זה הגישה המתודולוגית והאסתטית שלו לקוד, זה אומר עליו הכל. זה יותר חשוב מניסיון, הכרת השפה - הכל. תוכניתן טוב יכול להגיע לתחום שחדש לו לחלוטין ולהתחיל לתכנת בשפה שהוא לא מכיר, כמתחילן, ולעשות זאת בצורה נכונה. הדבר הכי טוב שאפשר לעשות כדי להעריך תוכניתן זה לשבת לידו כ 20 דקות ולראות איך הוא מממש איזה משימה תיכנותית יחסית טריביאלית. לא חוכמה לשאול אותו מה הדרך היעילה ביותר לעשות X, כי אין שום סיבה בעולם שהוא יצליח לעלות עליה בניסיון הראשון. מה שחשוב זה שהוא עובד נכון, כותב קוד יפה, שקל אח"כ לשפר אותו וכו'.
הרבה יותר חשוב מהלשאיר מוצר מוגמר על השולחן זה להשאיר את סביבת העבודה מסודרת ונקיה לבא אחריך. כל מוצר בסופו של דבר נבנה, כל גרסה נגמרת ומה שנשאר ביד זה הבלאגן או הסדר שהפועלים השאירו. עם הבלאגן או הסדר צריך ללכת לגרסה הבאה. ואפרופו הדיון המקורי, זה בדיוק מה שהתכוונתי כשאמרתי שפרוייקט מנוהל נכון הוא כזה שתחלופת כ"א בו היא כמה שפחות כואבת.
אומר שוב, תכנות זה משמעת. יצירתיות ויעילות מופלאה הם מצרכים חשובים בתחום העיצוב, לא בתכנות. תכנות זה הוצאה לפועל של עיצוב, וככזה הדבר החשוב ביותר בו זה שהעבודה תזרום.
ולגבי הקוד המכוער של חלק מהפרוקייטים בsource forge, זה לא אומר כלום. שיהיה ברור, _רב_ הקוד שנכתב הוא מכוער לאללה, בלי קשר לopen source. זה פשוט המצב. רוב האנשים שעוסקים בתכנות הם לא תוכניתנים "באמת", הם סתם עובדים בתוכנה. אם כבר, source forge מתאפיין בפרוייקטים קטנטנים שלא דורשים יותר מדי מומחיות אלא רק רעיון טוב ויכולת ביצוע בינונית. source forge _מלא_ בפרוייקטים שלא נגמרו ואל הגיעו לשום מקום, ואלו שכן הצליחו להתפרסם אחרי כמה עשרות מיני גרסאות, לא עשו זאת בזכות קוד יפה אלא בזכות רעיון חכם. התוצאה היא שהם נכתבים מחדש אלף פעם בכל גרסה, כל פעם בשפה אחרת (כי יש תחלופה די זריזה של תוכניתנים), בעוד שלו היו מנוהלים מלכתחילה בצורה נורמלית היו מציגים הספק הרבה יותר מרשים. (לא שאין שם פרוייקטים מנוהלים נכון, יש ועוד איך והיה לי את העונג האישי לקחת חלק פה ושם, אבל הרוב הוא סתם בינוני, כמו בכל מקום.)

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים