- موضوع اصلی:
- نگهداری از پروژههای نرم افزاری بزرگ در بلندمدت، بسیار پیچیدهتر و زمان برتر از نوشتن کد اولیه است.
- نگهداری بلندمدت شامل آزمایشهای گسترده، رفع اشکال، بهینه سازی عملکرد، بازسازی کد، مستندسازی و احتمالاً بازنویسی کد میشود.
- بسیاری از توسعه دهندگان، حتی افراد با تجربه، بار نگهداری بلندمدت را دست کم میگیرند.
- دیدگاه نگهدارنده:
- مشارکتهای خارجی، مانند وصلههای کد بزرگ یا کتابخانهها، مسئولیت اصلی نگهداری بلندمدت را به نگهدارندگان پروژه منتقل میکند.
- نگهدارندگان نسبت به مشارکت افرادی که ممکن است در بلندمدت برای پشتیبانی در دسترس نباشند، محتاط هستند.
- این امر منجر به الزامات سختگیرانه و درگیری احتمالی با مشارکت کنندگانی میشود که بر عملکرد فوری تمرکز میکنند.
- قیاس ساخت و ساز:
- یک داوطلب، یک الحاقیه به یک خانه موجود را با استفاده از مصالح و تکنیکهای نامرغوب میسازد.
- با گذشت زمان، الحاقیه فرسوده میشود و نیاز به نگهداری گسترده و پرهزینه توسط سازنده اصلی دارد.
- این امر بار به ارث بردن مسئولیتهای نگهداری بلندمدت برای کد مشارکت شده خارجی را نشان میدهد.
- مثالهای نرم افزاری:
- نویسنده مثالهایی از تجربه خود با Construct را ارائه میدهد، از جمله:
- جایگزینی افزونههای مشارکت شده توسط جامعه به دلیل مسائل مربوط به نگهداری.
- مشکلات نگهداری از کد قراردادی به دلیل تفاوت در سبکهای کدنویسی و عدم دسترسی توسعه دهنده.
- مشکلات با نگهداری کتابخانههای شخص ثالث که پشتیبانی از آنها متوقف میشود.
- مشکلات ناشی از نمونه های اولیه که فاقد ملاحظات بلند مدت هستند.
- مشکلات ناشی از تغییرات کد غیرمجاز.
- پیامدهای متن باز:
- پروژههای متن باز با چالش های نگهداری مشابهی روبرو هستند و احتمالاً به دستورالعملهای مشارکت سختگیرانه نیاز دارند.
- اختلاف هسته لینوکس اهمیت تعهد بلند مدت از سوی مشارکت کنندگان را برجسته می کند.
- اولویت دادن به مشارکتهای مشارکت کنندگان بلند مدت روشی است که برای کاهش خطر کد نگهداری نشده استفاده میشود.
- نتیجه:
- نگهداری بلند مدت، بخش مهمی از توسعهی نرم افزار است که اغلب از تلاش کدنویسی اولیه فراتر میرود.
- درک این پویایی برای همکاری و مشارکت مؤثر در پروژههای نرم افزاری بزرگ بسیار مهم است.
- هنگام پذیرش کد خارجی، بار نگهداری باید در نظر گرفته شود.
به طور خلاصه، نویسنده با استفاده از مثال های ملموس و قیاس ساخت و ساز، نشان میدهد که نگهداری طولانی مدت نرم افزار، به ویژه برای پروژه های بزرگ، یک چالش پیچیده و زمان بر است. او تأکید میکند که مشارکت کنندگان و نگهدارندگان باید مسئولیتهای نگهداری بلندمدت را در نظر بگیرند تا از مشکلات آینده جلوگیری کنند.
مشاهده مطلب اصلی