مقدمه

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

نحوه تشخیص و معرفی راه حل وسواس اولیه
اکثر زبان های برنامه نویسی دارای انواع رکورد و اولیه هستند انواع اولیه ( مانند int و byte و char و ...( در ساخت بلوک ها بکار میروند و با انواع رکورد میتوان اطلاعات را در گروه های معنا دار ساختار بندی کرد. یک چیز ارزشمند در مورد اشیا این است که آنها مرز بین انواع اولیه و کلاس های بزرگ تر را محو کردند.

افرادی که به تازگی با اشیا آشنا شده اند از استفاده از اشیا کوچک برای کارهای کوچک اجتناب میکنند مثلا کلاسی پول که عدد و نوع پول را ترکیب میکند یا کلاس بازه که از دو عدد شروع و پایان تشکیل شده است شما میتوانید انواع مستقل را با روش جایگزینی مقدار داده با شی[1] به یک شی تبدیل کنید اگر مقدار داده یک از نوع کد بود از روش جایگزینی نوع کد با کلاس[2] استفاده کنید اگر مقدار در رفتار تاثیر گذار نیست به خودتان بستگی دارد که از روش جایگزینی نوع کد با کلاس زیر[3] یا از روش جایگزینی نوع کد با حالت[4] استفاده کنید.

[1] Replace Data Value with Object
[2] Replace Type Code with Class
[3] Replace Type Code with Subclass
[4] Replace Type Code with State/Strategy