הקתדרלה והבזאר – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Odedshchori (שיחה | תרומות)
Odedshchori (שיחה | תרומות)
שורה 19:
מבקרים נוספים מציינים שהמערכת (או אחת המערכות) אותה מביא ריימונד כהדגמה לשיטת ה"בזאר", כלומר '''FetchMail''' שפותחה בהנהגתו היא ברמת מורכבות פשוטה ואיכות נמוכה, ובתור ראייה לעליונות שיטת הבזאר אליה טוען ריימונד היא הוכחה עלובה{{הערה|1=[http://pascal.case.unibz.it/retrieve/3464/ ביקורת על מאמרו של ריימונד] {{אנגלית}}}}.
==הנחיות ליצירת תוכנות טובות בקוד פתוח==
במאמר בדוברדובר על 19 קווים מנחים ליצירת תוכנות בקוד פתוח:
 
1-# עבודה טובה מתחילה מהגירויבגירוי אישי האישישנוצר שלאצל המפתח או המתכנת.
# מתכנתים טובים יודעים מה לכתוב. מתכנתים מעולים יודעים מה לשכתב ובמה לעשות שימוש חוזר.
 
3-# תכנן לזרוק גרסה אחת, בין כה תעשה את זה (לקוח מהספר [http://en.wikipedia.org/wiki/The_Mythical_Man_Month The Mythical Man Month] ).
2-מתכנתים טובים יודעים מה לכתוב.
4-# אם יש לך את הגישה הנכונה, הבעיותבעיות הנכונותמעניינות תמצאתמצאנה אותך.
 
5-כאשר# אתהכשאתה מאבד עניין בתוכנהחובתךבתוכנה, חובתך האחרונה היא למסורר אותהלהעבירה ליורש מוכשר.
3-תכנן לזרוק גרסה אחת (לקוח מהספר [http://en.wikipedia.org/wiki/The_Mythical_Man_Month The Mythical Man Month] )
6-תתיחס# תתייחס למשתמשים שלך כמפתחיםכאל מפתחים שותפים.
 
7-# [http://en.wikipedia.org/wiki/Release_early,_release_often תשחררשחרר מוקדם, תשחררשחרר לעתים קרובות]; ותקשיבהטה ללקוחותאוזן שלךללקוחותיך.
4-אם יש לך את הגישה הנכונה, הבעיות הנכונות תמצא אותך.
# אם תיצור בסיס גדול של בודקי תוכנה ומתכנתים שותפים, כמעט כל בעיה תאופיין במהירות והפתרון יהיה ברור מאליו למישהו.
 
9-# מבנה נתונים טוב וקוד טיפש עובדים טוב יותר מההפך.
5-כאשר אתה מאבד עניין בתוכנהחובתך האחרונה היא למסורר אותה ליורש מוכשר.
10-# אם תתייחס לבודקי בבטההתוכנה שלך כמשאבכאל משאב היקריקר ביותרערך, הם יהפכו להיות כךמשאב יקר ערך.
 
# להיות בעל רעיונות טובים זה דבר מעולה, איתור רעיונות טובים אצל המשתמשים מעולה במידה דומה. לפעמים עדיפה יכולת האיתור.
6-תתיחס למשתמשים שלך כמפתחים שותפים.
# לעתים קרובות הפתרון המרשים והחדשני ביותר מגיע בעקבות המסקנה שתפסת את הבעיה באופן שגוי.
 
13-# עבודה מושלמת היאמושגת לא כאשר איןכשאין מה להוסיף, אלא כאשר איןכשאין מה להשמיט. (מיוחס ל[http://enhe.wikipedia.org/wiki/Antoine_de_Saint%D7%90%D7%A0%D7%98%D7%95%D7%90%D7%9F_%D7%93%D7%94_%D7%A1%D7%A0%D7%98-Exup%C3D7%90%D7%9B%D7%96%D7%95%D7%A4%D7%A8%D7%A9ry99 אנטואן דה סנט-אכזופרי] ).
7- [http://en.wikipedia.org/wiki/Release_early,_release_often תשחרר מוקדם, תשחרר לעתים קרובות] ותקשיב ללקוחות שלך.
14-# כל כלי אמור להיות שימושי בדרך הצפויה, אבל כלי עצום הוא כלי שאתה עושה בו שימושים מעבר למצופה.
 
15-# לעולם אל תזרוק מידע, תעשה רקאת כאשרזה רק הנמעןכשהנמען מכריח אותך.
8-תן בסיס גדול של בטה טסטר וכל בעיה תמצא פתרון.
16-כאשר# התחבירכשהתחביר שלך [http://en.wikipedia.org/wiki/Turing_completeness הופכתרחוק לבלתימלהיות מושלמתמושלם], [http://en.wikipedia.org/wiki/Syntactic_sugar "סוכר תחבירי"] נהיה החבר הטוב ביותר שלך.
 
17-# מערכת מאובטחתאבטחה הינההיא מאובטחת ברמה שהסודשבה הסוד שלה מאובטח. הישמר מסודות מדומים.
9-מבנה נתונים טוב וקוד טיפש עובדים טוב יותר מההפך.
18-ע"מ# כדי לפתור בעיה מעניינת , תתחיל לחפש בעיה שמעניינת אותך.
 
# אם עומד לרשות רכז הפיתוח כלי תקשורת טוב לפחות כמו רשת האינטרנט והוא יודע להוביל בלי שיזדקק לאלץ אחרים, ראשים רבים טובים יותר מראש אחד.
10-אם תתייחס לבודקי בבטה שלך כמשאב היקר ביותר הם יהפכו להיות כך.
 
11-הדבר הטוב הבא בזיהוי רעיונות טובים הוא זיהויים אצל המשתמשים . לפעמים האחרון הוא הטוב ביותר.
 
12-לפעמים הפתרון הטוב ביותר מגיע לאחר שמגיעים למסקנה שההבנה של הבעיה הייתה שגויה.
 
13-עבודה מושלמת היא לא כאשר אין מה להוסיף אלא כאשר אין מה להשמיט.(מיוחס ל[http://en.wikipedia.org/wiki/Antoine_de_Saint-Exup%C3%A9ry אנטואן דה סנט] ).
 
14-כל כלי אמור להיות שימושי בדרך הצפויה, אבל כלי עצום הוא כלי שאתה עושה בו שימושים מעבר למצופה.
 
15-לעולם אל תזרוק מידע, תעשה רק כאשר הנמען מכריח אותך.
 
16-כאשר התחביר שלך [http://en.wikipedia.org/wiki/Turing_completeness הופכת לבלתי מושלמת], [http://en.wikipedia.org/wiki/Syntactic_sugar סוכר תחבירי] נהיה החבר הטוב ביותר שלך.
 
17-מערכת מאובטחת הינה מאובטחת ברמה שהסוד שלה מאובטח.
 
18-ע"מ לפתור בעיה מעניינת , תתחיל לחפש בעיה שמעניינת אותך.
 
19-ספק רכז הפיתוח אמורה להוביל ללא כפייה , ראשים רבים טובים יותר מראש אחד.
 
==חיבורים נוספים==