من مهندس ارشد نرم افزار هستم و در زمینه طراحی های اعلامی و SOLID تخصص دارم و عاشق چابک.
چگونه می توان قسمتهای بد بو کد خود را پیدا کرد (قسمت دوم)
بوی کد بیشتری وجود دارد. بیایید رایحه ها را تغییر دهیم چندین علائم و موقعیت را مشاهده می کنیم که باعث می شوند در کیفیت پیشرفت خود شک کنیم. بیایید چند راه حل احتمالی را بررسی کنیم.
بیشتر این بوها فقط اشاره به چیزی است که ممکن است اشتباه باشد. آنها قوانین سختگیری نیستند.
این قسمت دوم است. قسمت I را می توان در اینجا یافت.
Code Smell 06 – برنامه نویس بسیار باهوش
خواندن کد دشوار است ، نام های فریبنده ای بدون معنایی وجود دارد. گاهی اوقات با استفاده از پیچیدگی تصادفی زبان.
منبع تصویر: ponsh =”> منبع
- خوانایی
- قابلیت نگهداری
- کیفیت کد
- بهینه سازی زودرس
راه حل
مثال
- حلقه های بهینه شده
استثنا
- کد بهینه شده برای عملیات سطح پایین.
کد نمونه
اشتباه
درست
تشخیص
تشخیص خودکار در برخی از زبانها امکان پذیر است. برخی از هشدارهای مربوط به پیچیدگی ، نامهای بد ، متغیرهای افزایش پست و غیره را مشاهده کنید
همچنین به عنوان شناخته شده است
نتیجه گیری
توسعه دهندگان بسیار زیرکی برای رجزخوانی کد رمزگونه می نویسند. توسعه دهندگان هوشمند کد پاک می نویسند. هر بار ضربه هوشمندانه بزنید.
برچسب ها
Code Smell 07 – متغیرهای بولی
استفاده از متغیرهای boolean به عنوان پرچم ، اجرای تصادفی را آشکار می کند و کد را با Ifs آلوده می کند.
منبع تصویر: Phil Hearing on Unsplash
مشکلات
- قابلیت گسترش
- مقایسه در برخی از زبانها
راه حل
اگر Boolean از موجودی در دنیای واقعی نقشه بگیرد ، ایمن است . درغیر اینصورت به عنوان یک کشور برای حمایت از قابلیت توسعه مدل سازی کنید. این نیز از اصل باز / بسته پیروی می کند.
مثال
استثنا
کد نمونه
اشتباه < / strong>
درست
ردیابی
تشخیص خودکار می تواند استفاده بولی را هشدار دهد اما این می تواند نادرست باشد.
روابط
بعضی از زبانها با مقایسه کننده های بولی مشکل دارند.
همچنین شناخته شده A s
برچسب ها
- اعلامی < li> بدوی
نتیجه گیری
هنگام اعلام بولی موارد بیشتر مراقب باشید. نگهداری و گسترش پرچم ها دشوار است. درباره دامنه بیشتر بیاموزید یا سعی کنید به الگوی طراحی حالت مهاجرت کنید. به جای ifs / switch / موارد از چند شکلی استفاده کنید.
Code Smell 08 – Long Chains of Coactions
ساختن زنجیرهای بلند باعث ایجاد اتصال و اثر موج دار می شود. هر تغییر زنجیره ای کد را می شکند.
Unsplash => “paragraf”> مشکلات
- اتصال
- شکست کپسول سازی
راه حل ها
کد نمونه
اشتباه
درست < / strong>
ردیابی
تشخیص خودکار با استفاده از تجزیه درختان امکان پذیر است.
همچنین به عنوان شناخته شده است
برچسب ها
< ul>
نتیجه گیری
از تماس های پی در پی پیامکی خودداری کنید. سعی کنید همکاری های میانی را پنهان کرده و پروتکل های جدید ایجاد کنید.
Code Smell 09 – Dead Code
کدی که دیگر استفاده نمی شود یا مورد نیاز است. < div class = "image-container">
منبع تصویر: Ray Shrewsberry on Pixabay
مشکلات
- ماندگاری
راه حل
مثال
- کد روکش طلا یا کد Yagni.
< p class = "paragraf"> استثناها
از برنامه نویسی متاپو جلوگیری کنید هنگام استفاده یافتن منابع به کد بسیار دشوار است.
تنبلی فصل اول: برنامه نویسی فرا
کد نمونه
اشتباه
درست
ردیابی
اگر یک مجموعه تست عالی داشته باشید ، ابزارهای پوششی می توانند کد رمزی را پیدا کنند (بدون پوشش).
برچسب ها
- غیرضروری
نتیجه گیری
حذف کد کد برای سادگی. اگر از برخی کدها اطمینان ندارید می توانید با استفاده از Feature Toggle به طور موقت آن را غیرفعال کنید. حذف کد همیشه پاداش بیشتری نسبت به افزودن دارد.
کد بوی 10 – استدلال های بسیار زیاد
اشیا or یا عملکردها برای کار کردن به آرگومان های زیادی نیاز دارند. < div class = "image-container">
منبع تصویر: Tobias Tullius on Unsplash
مشکلات
- قابلیت نگهداری پایین
- استفاده مجدد کم
- اتصال
راه حل ها
استثنا
- عملیات در دنیای واقعی به همکاران منسجمی نیاز ندارد.
کد نمونه
اشتباه
درست
ردیابی
هنگامی که لیست آرگومانها بیش از حد بزرگ است بیشتر پرزها هشدار می دهند.
برچسب ها
نتیجه گیری
استدلال های مشابه را بگویید و آنها را گروه بندی کنید. همیشه نگاشت های دنیای واقعی را ترجیح دهید. در گروه واقعی چگونگی گروه بندی آرگومان ها را در اشیا co منسجم بیابید.
اگر یک تابع آرگومان های زیادی داشته باشد ، ممکن است برخی از آنها مربوط به ساختار کلاس باشند. این هم بوی طراحی است.
فعلاً همین است! به زودی بوی کد بیشتری می رسد!