رابرت سی مارتین در یکی از کتابهایش تکنیک بازسازی(Refactoring) را با تمیزکردن آشپزخانه بعد از پخت و پز مقایسه کرده است:
بازسازی شبیه شستن ظروف و تمیز کردن آشپزخانه بعد از پخت غذا است. نخستینباری که بعد از آشپزی، ظروف را نشویید و آشپزخانه را تمیز نکنید، پختن و خوردن غذا کوتاه خواهد بود(نسبت به زمانی که آشپزخانه را هم تمیز کنید). اما فردا پختن و خوردن غذا طولانیتر خواهد بود؛ چرا که نداشتن ظروف تمیز و فضای کافی، شروع آشپزی را به تأخیر خواهد انداخت.
واقعیت این است که اگر روزی آشپزخانه را تمیز نکنید، غذا خوردن همان روز کوتاه خواهد بود. اما این کار باعث طولانی شدن غذای روز بعد خواهد شد. فردا به جای آشپزی باید انرژی و وقت خود را صرف تمیز کردن ظروف آشپزخانه کنید که شستن آنها به مراتب از دیروز سختتر است(باید با سیم ظرفشویی و قاشق، ماندههای غذای خشک شده ته آنها را جدا کنید در حالی که دیروز ظرفها به راحتی تمیز میشدند). آشپزی همیشه نیاز به زمان دارد، اما واقعاً تمیزنکردن آشپزخانه باعث کوتاه شدن زمان پختن و خوردن غذا نمیشود.
گزیده:
The Agile community likes to think that they represent God’s answer to good software development. NO!! You are acting like children and making fools of us all!!
Scott Ambler, IBM Rational Software Conference 2009
علی
۲۱ دی ۱۳۸۹ در ۰۰:۰۰خیلی جالب بود. بهتر از این نمی شود Refactoring را برای کسی توضیح داد.