عنوان:

‫واقعیت نگهداری طولانی مدت نرم افزار


نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۲/۰۹ ۰۷:۴۱
آدرس: www.dntips.ir
  • موضوع اصلی:
    • نگهداری از پروژه‌های نرم افزاری بزرگ در بلندمدت، بسیار پیچیده‌تر و زمان برتر از نوشتن کد اولیه است.
    • نگهداری بلندمدت شامل آزمایش‌های گسترده، رفع اشکال، بهینه سازی عملکرد، بازسازی کد، مستندسازی و احتمالاً بازنویسی کد می‌شود.
    • بسیاری از توسعه دهندگان، حتی افراد با تجربه، بار نگهداری بلندمدت را دست کم می‌گیرند.
  • دیدگاه نگهدارنده:
    • مشارکت‌های خارجی، مانند وصله‌های کد بزرگ یا کتابخانه‌ها، مسئولیت اصلی نگهداری بلندمدت را به نگهدارندگان پروژه منتقل می‌کند.
    • نگهدارندگان نسبت به مشارکت افرادی که ممکن است در بلندمدت برای پشتیبانی در دسترس نباشند، محتاط هستند.
    • این امر منجر به الزامات سختگیرانه و درگیری احتمالی با مشارکت کنندگانی می‌شود که بر عملکرد فوری تمرکز می‌کنند.
  • قیاس ساخت و ساز:
    • یک داوطلب، یک الحاقیه به یک خانه موجود را با استفاده از مصالح و تکنیک‌های نامرغوب می‌سازد.
    • با گذشت زمان، الحاقیه فرسوده می‌شود و نیاز به نگهداری گسترده و پرهزینه توسط سازنده اصلی دارد.
    • این امر بار به ارث بردن مسئولیت‌های نگهداری بلندمدت برای کد مشارکت شده خارجی را نشان می‌دهد.
  • مثال‌های نرم افزاری:
    • نویسنده مثال‌هایی از تجربه خود با Construct را ارائه می‌دهد، از جمله:
      • جایگزینی افزونه‌های مشارکت شده توسط جامعه به دلیل مسائل مربوط به نگهداری.
      • مشکلات نگهداری از کد قراردادی به دلیل تفاوت در سبک‌های کدنویسی و عدم دسترسی توسعه دهنده.
      • مشکلات با نگهداری کتابخانه‌های شخص ثالث که پشتیبانی از آنها متوقف می‌شود.
      • مشکلات ناشی از نمونه های اولیه که فاقد ملاحظات بلند مدت هستند.
      • مشکلات ناشی از تغییرات کد غیرمجاز.
  • پیامدهای متن باز:
    • پروژه‌های متن باز با چالش های نگهداری مشابهی روبرو هستند و احتمالاً به دستورالعمل‌های مشارکت سختگیرانه نیاز دارند.
    • اختلاف هسته لینوکس اهمیت تعهد بلند مدت از سوی مشارکت کنندگان را برجسته می کند.
    • اولویت دادن به مشارکت‌های مشارکت کنندگان بلند مدت روشی است که برای کاهش خطر کد نگهداری نشده استفاده می‌شود.
  • نتیجه:
    • نگهداری بلند مدت، بخش مهمی از توسعه‌ی نرم افزار است که اغلب از تلاش کدنویسی اولیه فراتر می‌رود.
    • درک این پویایی برای همکاری و مشارکت مؤثر در پروژه‌های نرم افزاری بزرگ بسیار مهم است.
    • هنگام پذیرش کد خارجی، بار نگهداری باید در نظر گرفته شود.

به طور خلاصه، نویسنده با استفاده از مثال های ملموس و قیاس ساخت و ساز، نشان می‌دهد که نگهداری طولانی مدت نرم افزار، به ویژه برای پروژه های بزرگ، یک چالش پیچیده و زمان بر است. او تأکید می‌کند که مشارکت کنندگان و نگهدارندگان باید مسئولیت‌های نگهداری بلندمدت را در نظر بگیرند تا از مشکلات آینده جلوگیری کنند.


مشاهده مطلب اصلی