آموزش بازسازی کد یا "Code Refactoring".
https://www.youtube.com/watch?v=vhYK3pDUijk&list=PLGLfVvz_LVvSuz6NuHAzpM52qKM6bPlCV
- مدرس: فردی از کانال "The New Boston".
- موضوع: آموزش بازسازی کد یا "Code Refactoring".
- هدف: ایجاد کدی که به راحتی قابل تغییر و فهم باشد.
- مفهوم: بازسازی کد به منظور بهبود طراحی کد، افزایش قابلیت فهم و توسعهپذیری آن.
- نیاز: زمانی که نرمافزار بسیار پیچیده میشود و قابلیت اضافه کردن ویژگیهای جدید و حفظ بدون خطا بودن آن کاهش مییابد.
- کاهش کد تکراری: با حذف کد تکراری، مقدار کد کاهش مییابد و در نتیجه کد راحتتر قابل تغییر و فهم میشود.
- فهم بهتر سیستم: بازسازی کد باعث فهم بهتر سیستم و شناسایی بهتر باگها میشود.
- نوشتن کد سریعتر: با نوشتن کد قابل فهم، زمان بیشتری برای افزودن ویژگیها و کمتر برای فهمیدن کد قبلی صرف میشود.
- کد خوانا و قابل تغییر: بازسازی کد باعث حذف تکرار، سهولت در تغییر و کاهش منطق شرطی پیچیده میشود.
- توضیح: وجود کدهای تکراری در بخشهای مختلف برنامه.
- راهحل: استفاده از متدها و کلاسهای مشترک برای کاهش تکرار کد.
- توضیح: متدهایی که طولانی هستند و منطق زیادی را در خود جای دادهاند.
- راهحل: تقسیم متدها به متدهای کوچکتر و سادهتر.
- توضیح: وجود شرطهای پیچیده در کد.
- راهحل: استفاده از متدهای سادهتر و بهینهتر برای کاهش پیچیدگی شرطها.
- توضیح: استفاده مکرر از انواع دادهای اولیه مانند int، double، boolean به جای استفاده از کلاسهای شیءگرا.
- راهحل: استفاده از کلاسهای شیءگرا برای افزایش تمیزی و توسعهپذیری کد.
- توضیح: متدها یا کلاسهایی که به صورت غیرضروری نمایان شدهاند.
- راهحل: استفاده از سطح دسترسی مناسب برای متدها و کلاسها.
- توضیح: وجود کدهایی که برای حل یک مسئله در چندین کلاس مختلف پراکنده شدهاند.
- راهحل: تجمیع کدها در یک کلاس به جای پراکندگی آنها.
- توضیح: کلاسهایی که وظایف کمی دارند و کارایی زیادی ندارند.
- راهحل: ادغام این کلاسها با کلاسهای دیگر برای کاهش تعداد کلاسها.
- توضیح: کلاسهایی که وظایف زیادی دارند و بسیار بزرگ هستند.
- راهحل: تقسیم کلاسهای بزرگ به کلاسهای کوچکتر و با وظایف مشخص.
- توضیح: استفاده زیاد از شرطهای "Switch" و "If-Else" که باعث پیچیدگی کد میشوند.
- راهحل: استفاده از روشهای جایگزین مانند طراحی شیءگرا و استفاده از پلیمورفیسم.
- توضیح: وجود متدهایی که برای هر عمل خاصی وجود دارند.
- راهحل: ایجاد متدهای عمومیتر که قابلیت اجرای چندین عمل مختلف را دارند.
- نکات پایانی: بازسازی کد باعث افزایش کیفیت کد و سهولت در نگهداری و توسعه آن میشود. همچنین به کاهش باگها و افزایش سرعت توسعه کمک میکند.
chatgpt 4o / video summarizer