יוצא לי, אבל לא כמו שאתה מתכוון
יצא לי הרבה פעמים שעשיתי reuse לקוד, בין אם מדובר באלגוריתם (לדוגמה - מיון), מבנה נתונים שחוזר על עצמו, איזשהו pattern עיצובי שימושי או סתם קוד שימושי שפותר בעיה כלשהי. למה לא כמו שאתה מתכוון - כי ברב המקרים כתבתי אותו מחדש. הסיבה לכך פשוטה - ברוב המקרים הפרויקט הנוכחי שעסקתי בו היה בטכנולוגיה שונה מהפרויקט הקודם בו עסקתי ולא תמיד הטכנולוגיה היתה תואמת או כדאית לשימוש (לדוגמה - יכול להיות שכתבתי משהו ב-VB שיכל לעבוד תחת דוט נט, אבל העדפתי לשכתב על-מנת שהקוד יהיה יותר "תחזוקתי"). במקרים אחרים, הקוד לא ניתן היה לשימוש חוזר מאחר ועברתי ממקום למקום וזה לא היה כל כך "חוקי" לקחת איתי דברים. אם ננסה לנתח את הקוד ה-reusable (ניתן לשימוש) אפשר לגלות שמדובר לרוב ב: - אלגוריתמים - כל מי שרצה למיין ב-VB ידע שאין משהו אוטומטי (של השפה) שעושה את זה, אז מה עושים - כותבים משהו אחד ומשתמשים שוב ושוב. - מבני נתונים - חלקם מוגדרים כ-design pattern (כגון composite) וחלקם סתם מבני נתונים סטנדרטים שפשוט מוצאים את דרכם לכל פרויקט שאליו מגיעים (מחלקות לשמירת פרטים אישיים של אדם, מבנה טבלאות קוד ב-DB וכו') - Design Patterns/Application Blocks - שוב לנהל Cache ? שוב צריך אובייקט גישה ל-DB ? שוב צריך סט מחלקות לבניית מסכים להזנת והצגת מידע ? מזל שמישהו כבר חשב על משהו בשבילנו מה לרוב לא מבצעים לו reuse ? לרוב מדובר בלוגיקה עסקית ארגונית (לא סביר להניח שמחלקת כ"א בצבא עובדת על אותם עקרונות של מחלקת כ"א בארגון כגון קופ"ח), אם כי ישנם לוגיקות עסקיות שמקורן בגורם יותר משותף (הפסקתי לספור כמה פעמים יצא לי להתקל באלגוריתם חישוב ספרת ביקורת לת"ז), אז כשזה מגיע ללוגיקה עסקית - צריך ראיה קצת יותר רוחבית של הארגון על-מנת לזהות רכיבים משותפים שניתן לעשות להם reuse