سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadr
خواندن ۲ دقیقه·۵ ماه پیش

آموزش بازسازی کد یا "Code Refactoring".

لینک ویدیو

https://www.youtube.com/watch?v=vhYK3pDUijk&list=PLGLfVvz_LVvSuz6NuHAzpM52qKM6bPlCV

نکات جالب و بحث‌های مهم

معرفی

  • مدرس: فردی از کانال "The New Boston".
  • موضوع: آموزش بازسازی کد یا "Code Refactoring".
  • هدف: ایجاد کدی که به راحتی قابل تغییر و فهم باشد.

تعریف Refactoring

  • مفهوم: بازسازی کد به منظور بهبود طراحی کد، افزایش قابلیت فهم و توسعه‌پذیری آن.
  • نیاز: زمانی که نرم‌افزار بسیار پیچیده می‌شود و قابلیت اضافه کردن ویژگی‌های جدید و حفظ بدون خطا بودن آن کاهش می‌یابد.

اهمیت Refactoring

  • کاهش کد تکراری: با حذف کد تکراری، مقدار کد کاهش می‌یابد و در نتیجه کد راحت‌تر قابل تغییر و فهم می‌شود.
  • فهم بهتر سیستم: بازسازی کد باعث فهم بهتر سیستم و شناسایی بهتر باگ‌ها می‌شود.
  • نوشتن کد سریع‌تر: با نوشتن کد قابل فهم، زمان بیشتری برای افزودن ویژگی‌ها و کمتر برای فهمیدن کد قبلی صرف می‌شود.
  • کد خوانا و قابل تغییر: بازسازی کد باعث حذف تکرار، سهولت در تغییر و کاهش منطق شرطی پیچیده می‌شود.

انواع "Code Smell" و راه‌حل‌ها

کد تکراری

  • توضیح: وجود کدهای تکراری در بخش‌های مختلف برنامه.
  • راه‌حل: استفاده از متدها و کلاس‌های مشترک برای کاهش تکرار کد.

متدهای طولانی

  • توضیح: متدهایی که طولانی هستند و منطق زیادی را در خود جای داده‌اند.
  • راه‌حل: تقسیم متدها به متدهای کوچکتر و ساده‌تر.

شرط‌های پیچیده

  • توضیح: وجود شرط‌های پیچیده در کد.
  • راه‌حل: استفاده از متدهای ساده‌تر و بهینه‌تر برای کاهش پیچیدگی شرط‌ها.

استفاده از انواع اولیه

  • توضیح: استفاده مکرر از انواع داده‌ای اولیه مانند int، double، boolean به جای استفاده از کلاس‌های شیء‌گرا.
  • راه‌حل: استفاده از کلاس‌های شیء‌گرا برای افزایش تمیزی و توسعه‌پذیری کد.

نمایان‌سازی غیرضروری

  • توضیح: متدها یا کلاس‌هایی که به صورت غیرضروری نمایان شده‌اند.
  • راه‌حل: استفاده از سطح دسترسی مناسب برای متدها و کلاس‌ها.

پراکندگی راه‌حل‌ها

  • توضیح: وجود کدهایی که برای حل یک مسئله در چندین کلاس مختلف پراکنده شده‌اند.
  • راه‌حل: تجمیع کدها در یک کلاس به جای پراکندگی آن‌ها.

کلاس‌های تنبل

  • توضیح: کلاس‌هایی که وظایف کمی دارند و کارایی زیادی ندارند.
  • راه‌حل: ادغام این کلاس‌ها با کلاس‌های دیگر برای کاهش تعداد کلاس‌ها.

کلاس‌های بزرگ

  • توضیح: کلاس‌هایی که وظایف زیادی دارند و بسیار بزرگ هستند.
  • راه‌حل: تقسیم کلاس‌های بزرگ به کلاس‌های کوچکتر و با وظایف مشخص.

استفاده از "Switch" و "If-Else" های پیچیده

  • توضیح: استفاده زیاد از شرط‌های "Switch" و "If-Else" که باعث پیچیدگی کد می‌شوند.
  • راه‌حل: استفاده از روش‌های جایگزین مانند طراحی شیء‌گرا و استفاده از پلیمورفیسم.

انفجار جزییات

  • توضیح: وجود متدهایی که برای هر عمل خاصی وجود دارند.
  • راه‌حل: ایجاد متدهای عمومی‌تر که قابلیت اجرای چندین عمل مختلف را دارند.

نتیجه‌گیری

  • نکات پایانی: بازسازی کد باعث افزایش کیفیت کد و سهولت در نگهداری و توسعه آن می‌شود. همچنین به کاهش باگ‌ها و افزایش سرعت توسعه کمک می‌کند.



chatgpt 4o / video summarizer

بازسازی کدکد
چیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
شاید از این پست‌ها خوشتان بیاید