مقدمه

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

نحوه تشخیص و معرفی راه حل تشریح انفجاری
تشریح انفجاری شبیه تغییرات واگرا هست ولی در جهت کاملا مخالف قرار دارد. این بو وقتی استشمام میشود که شما نوعی برای انجام یک تغییر میبایست تعداد زیادی تغییر کوچک در تعداد زیادی کلاس ایجاد کنید. وقت فرارسیدن تحول سیستم این تغییرات کوچک به سختی پیدا میشوند و خیلی راحت یک تغییر مهم را جا می اندازید.
در این شرایط میتوانید از روش انتقال متد و روش انتقال فیلد برای منسجم کردن تغییرات در یک کلاس استفاده کنید. اگر هیچ کلاسی برای این کار خوب  نبود میتوانید از روش کلاس درخط  استفاده کنید تا تعداد زیادی رفتار را یکجا جمع کنید. ممکن است به یک مقدار از بو تغییرات واگرا برسید ولی مدیریت کردنش به نسبت آسان است.
تغییرات واگرا شامل یک کلاس که چندین تحول سیستم در آن انجام میشود و تشریح انفجاری یک تحول سیستم است که چندین کلاس را تغییر میدهد. در هرصورت شما باید طوری اوضاع را مرتب کنید که به صورت ایده ال یک پیوند یک به یک بین تحولات رایج سیستم و کلاس ها موجود باشد.
برای مثال ممکن است در یک برنامه محتوی محور که با SQL کار میکند شما در هر کلاس رشته SQL مورد نظر را با استفاده از ورودی ها بسازید، حالا اگر نیاز باشد که با افزایش حجم داده سیستم از SQL به NoSQL مهاجرت داده شود میبایست تک تک این کلاس ها مورد بازبینی قرار بگیرند در صورتی که با لایه بندی درست می شد از این مشکل جلوگیری کرد.