مقدمه

پیش از این راجع به Bad Smell صحبت کردیم "کلاس بزرگ" یکی از 22 نوع Bad Smell میباشد.

نحوه تشخیص و معرفی راه حل کلاس بزرگ
وقتی یک کلاس سعی میکند کار زیادی انجام دهد. معمولا باید تعداد زیادی متغییر داشته باشد. وقتی تعداد زیادی متغیر داریم کد های تکراری اجتناب ناپذیر هستند.

شما میتوانید از روش استخراج کلاس[1] برای کم کردن تعداد متغیر استفاده کنید. متغیر ها را طوری انتخاب کنید که در کنار هم معنا دار باشند. برای مثال depositAmount و depositCurrency احتمالا باید در یک کلاس باشند. در حالت کلی پیشوند یا میانوند اسم متغیر ها در یک کلاس نشانه یک فرصت برای ساخت کلاس جدید است. اگر این متغیر ها در کنار هم به شکل یک زیرکلاس معنا دار تر میشوند میتوانید از روش استخراج زیرکلاس[2] نیز استفاده کنید.

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

اگر یک کلاس تعداد زیادی متغیر دارد بعد از استخراج کلاس و استخراج زیر کلاس ممکن است استخراج interface نیز نیاز شود. در صورتی که کلاس بزرگ شما مربوط به رابط گرافیکی است باید قسمت منطقی برنامه را از قسمت ظاهر جدا کنید. میتوانید برای اینکار از روش دوبرابر کردن اطلاعات دیدنی[3] استفاده کنید.

[1] Extract Class
[2] Extract Subclass
[3] Duplicate Observed Data