معرفی کتاب Working Effectively with Legacy Code

کتاب خوبی در مورد توسعه نرم افزار چابک می باشد که یک وضعیت مطلوب را برای پروژه های خام با تمام تست های پشت سر هم که بعد از هر ویرایش اجرا میشود و با سورس کد تمیز و ساده توصیف می کند.

یک نرم افزار معمولی در صنعت ما به صورت بنویس و اصلاح کن بدون یونیت تست اتوماتیک نوشته می شود و ما نمیتوانیم همچین کدهایی رو به سادگی دور بیاندازیم، زیرا نمایانگر تلاش و ءشتیبانی کافی می باشد  و شامل تصمیم هایی در مورد نیازمندیهای نهفته هست. همانطور که فرایند های چابک افزایشی هستند(نیازمند مرور زمان)، فرایند پذیرش چابک هم باید افزایشی باشد و دیگه نباید کد هایی که خنده دار هستند رو دور انداخت.

مایک کتاب خود را با یک تعریف بسیار دیپلماتیک از “میراث”(Legacy) آغاز می کند. من به نسخه غیرمعمول پرش می کنم: کد میراثی، کد بدون یونیت تست است.

قبل از تمیز کردن کد، و قبل از اضافه کردن ویژگی های جدید و از بین بردن اشکالات، این کد باید غیر میراثی شود. این امر نیاز به یونیت تست دارد.

برای اضافه کردن یونیت تست، شما باید کد را تغییر دهید. برای تغییر کد، شما نیاز به یونیت تست دارید تا نشان دهید که تغییر شما تا چه حدی امن است.

هسته این کتاب یک کتاب آشپزی(cookbook) از دستور العمل هایی برای انجام حملات مختلف دقیق است. هر یک مشکلات خاصی را ارائه می دهد و یک روش نسبتا ایمن برای مهاجرت به کد به سمت تست ها است.

کد تحت این مهاجرت، مزایای یونیت تست ها را تجربه خواهد کرد و این مزایا به طور پیوسته تست های جدید را برای نوشتن انجام می دهد. این تلاش ها سختی های یک کد قدیمی را برای تغییر آسان می کند.

این یک سند غیر قابل انکار در مورد وضعیت صنعت برنامه نویسی ما هست که نشان می دهد چقدر ما به این کتاب نیاز داریم.

 

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *