کتاب Refactoring (ریفکتورینگ) نوشتهی احسان رضایی، دربردارندهی مجموعهای از تکنیکهای کاربردیست که به شما این فرصت را میدهد تا کدهای قبلی نرمافزار را بدون هیچگونه تغییری در عملکردشان، بهینهسازی کنید و طول عمر برنامههایتان را افزایش دهید.
دربارهی کتاب Refactoring (ریفکتورینگ):
یک نرمافزار برای اینکه بتواند طول عمر بیشتری داشته باشد همواره نیاز به نگهداری، به روز رسانی و رفع مشکلات دارد. بیشتر این پاکسازیها روی کدهای قبلی صورت میگیرند. در واقع کدهای کثیف و بهینه نشده هزینهها را بسیار بالا خواهد برد. Refactoring یک عمل و یا بهتر بگوییم راهحلی کاربردی برای از بین بردن کدهای کثیف و کاهش دادن هزینهها در آینده محسوب میشود که اکثر برنامهنویسان از آن برای نگهداری از نرمافزارهای خود استفاده میکنند. عمل Refactoring منجر میشود تا شما کدهایی خواناتر و تمیزتر از قبل داشته باشید، بدون اینکه در رفتارها و عملکردهایشان تغییری ایجاد شود.
چند نکته که شما را برای یادگیری تکنیکهای refactoring ترغیب میکنند:
- این را بدانید که کدهای refactor شده کارایی بهتری دارند. رفع مشکلات قبلی منجر میشوند تا کدها بهتر و سریعتر عمل کنند و performance نرمافزار را بالا ببرند.
- عمل Refactoring سرمایهگذاری خوبی در زمان و هزینهها به شمار میرود.
- عمل Refactoring به نرمافزار شما این قابلیت را میدهد تا طول عمر بیشتری داشته باشد و به خوبی نگهداری شود.
- این سیستم به شما کمک میکند تا مشکلات کدها را به راحتی پیدا کنید و در صدد رفع آنها برآیید.
- Refactoring برای رفع یا کاهش technical debt تأثیرگذار است.
کتاب Refactoring (ریفکتورینگ) برای چه کسانی مناسب است؟
این کتاب برنامهنویسان را با نکات و ترفندهای ویژهای جهت بهتر شدن عملکرد نرمافزارهایشان آشنا میسازد.
در بخشی از کتاب Refactoring (ریفکتورینگ) میخوانیم:
Subclassها فرآیندی را به ترتیب و با گامهای مشابه انجام میدهند. این همان Template Pattern دیزاین پترنهاست. در این الگو اسکلت و مراحل کار تعریف میشود و کلاسهای فرزند موظف به رعایت ترتیب آن هستند.
فرض کنید قرار است یک خانه بسازیم. هیچ وقت نمیتوان از سقف خانه شروع کرد. مراحل کار مشخص است. زیرسازی، دیوارها، سقف و...
Template Pattern مراحل بالا را تعریف میکند. حالا دو زیرکلاس داریم. سازنده خانه چوبی و خانه بتنی. هر دو بر اساس مراحل عمل میکنند. اول زیرسازی سپس دیوارها و... اما جنس کارشان (بدنه متدها) متفاوت است.
بله




















