بسته ی آموزش ویدئویی ریفکتورینگ در سی شارپ

بسته ی آموزش ویدئویی ریفکتورینگ در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم.

ریفکتورینگ (Refactoring) چیست؟

ریفکتورینگ هنر نوشتن کدهای بهتر می باشد. کدهایی که قابل فهم تر هستند و در صورت نیاز راحت تر میتوان در آنها تغییر ایجاد کرد. ریفکتورینگ (Refactoring) تکنیک بهبود بخشیدن به طراحی کدهای نوشته شده می باشد. به عبارت دیگر، ریفکتورینگ (Refactoring) به معنای هنر تغییر دادن و بهبود بخشیدن ساختار درونی کد بدون تغییر دادن عملیاتی ست که کد موجود انجام می دهد، می باشد.


بوی بد کد (Code Smell) چیست؟

انجام یک ریفکتورینگ اغلب با پی بردن به یک Code Smell (بوی بد کد) شروع می شود. برای مثال، متدی که بیش از حد طولانی ست، کدهای تکراری، جملات شرطی تو در تو و پیچیده، لیست طولانی پارامترهای یک متد و … تعدادی از Code Smell ها و در واقع سر نخ هایی برای استفاده از ریفکتورینگ است.


سرفصل مطالب بسته ی آموزش ویدئویی ریفکتورینگ در سی شارپ

فصل اول: معرفی بسته ی آموزشی

فصل دوم: معرفی ریفکتورینگ

  • تاثیر ریفکتورینگ بر روی طراحی نرم افزار
  • تاثیر ریفکتورینگ بر روی سادگی کد
  • تاثیر ریفکتورینگ بر سرعت تولید نرم افزار
  • تاثیر ریفکتورینگ بر روی پیدا کردن ها باگ ها
  • معرفی قانون جامع ریفکتورینگ
  • ریفکتورینگ در زمان اضافه کردن تابع
  • ریفکتورینگ در زمان رفع کردن یک باگ
  • ریفکتورینگ در حال کد نویسی

فصل سوم: بررسی بوی بد کد (Code Smell)

  • معرفی و بررسی Code Smell ها
  • بررسی بوی بد کد Duplicated Code
  • بررسی بوی بد کد Long Method
  • بررسی بوی بد کد Large Class
  • بررسی بوی بد کد Long Parameter List
  • بررسی بوی بد کد Divergent Change
  • بررسی بوی بد کد Shotgun Surgery
  • بررسی بوی بد کد Feature Envy
  • بررسی بوی بد کد Data Clumps
  • بررسی بوی بد کد Primitive Obsession
  • بررسی بوی بد کد Switch Statements
  • بررسی بوی بد کد Parallel Inheritance Hierarchies
  • بررسی بوی بد کد Lazy Class
  • بررسی بوی بد کد Speculative Generality
  • بررسی بوی بد کد Temporary Field
  • بررسی بوی بد کد Message Chains
  • بررسی بوی بد کد Middle Man
  • بررسی بوی بد کد Inappropriate Intimacy
  • بررسی بوی بد کد Alternative Classes with Different Interfaces
  • بررسی بوی بد کد Incomplete Library Class
  • بررسی بوی بد کد Data Class
  • بررسی بوی بد کد Refused Bequest
  • بررسی بوی بد کد Comments

فصل چهارم: تکنیک های ریفکتورینگ مربوط به متدها

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به کار کردن با متدها
  • تکنیک ریفکتورینگ Extract Method
  • تکنیک ریفکتورینگ Inline Method
  • تکنیک ریفکتورینگ Inline Temp
  • تکنیک ریفکتورینگ Replace Temp with Query
  • تکنیک ریفکتورینگ Introduce Explaining Variable
  • تکنیک ریفکتورینگ Split Temporary Variable
  • تکنیک ریفکتورینگ Remove Assignments to Parameters
  • تکنیک ریفکتورینگ Replace Method with Method Object
  • تکنیک ریفکتورینگ Substitute Algorithm

فصل پنجم: تکنیک های ریفکتورینگ مربوط به کار با کلاس ها

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به کار کردن با کلاس ها
  • تکنیک ریفکتورینگ Move Method
  • تکنیک ریفکتورینگ Move Field
  • تکنیک ریفکتورینگ Extract Class
  • تکنیک ریفکتورینگ Inline Class
  • تکنیک ریفکتورینگ Hide Delegate
  • تکنیک ریفکتورینگ Remove Middle Man
  • تکنیک ریفکتورینگ Introduce Foreign Method
  • تکنیک ریفکتورینگ Introduce Local Extension

فصل ششم: تکنیک های ریفکتورینگ مربوط به سازماندهی داده ها

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به سازماندهی داده ها
  • تکنیک ریفکتورینگ Self Encapsulate Field
  • تکنیک ریفکتورینگ Replace Data Value with Object
  • تکنیک ریفکتورینگ Change Value to Reference
  • تکنیک ریفکتورینگ Change Reference to Value
  • تکنیک ریفکتورینگ Replace Array with Object
  • تکنیک ریفکتورینگ Change Unidirectional Association to Bidirectional
  • تکنیک ریفکتورینگ Change Bidirectional Association to Unidirectional
  • تکنیک ریفکتورینگ Replace Magic Number with Symbolic Constant
  • تکنیک ریفکتورینگ Encapsulate Field
  • تکنیک ریفکتورینگ Encapsulate Collection
  • تکنیک ریفکتورینگ Replace Record with Data Class
  • تکنیک ریفکتورینگ Replace Type Code with Class
  • تکنیک ریفکتورینگ Replace Type Code with Subclasses
  • تکنیک ریفکتورینگ Replace Type Code with State
  • تکنیک ریفکتورینگ Replace Subclass with Fields

فصل هفتم: تکنیک های ریفکتورینگ مربوط به جملات شرطی

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به جملات شرطی
  • تکنیک ریفکتورینگ Decompose Conditional
  • تکنیک ریفکتورینگ Consolidate Conditional Expression
  • تکنیک ریفکتورینگ Consolidate Duplicate Conditional Fragments
  • تکنیک ریفکتورینگ Remove Control Flag
  • تکنیک ریفکتورینگ Replace Nested Conditional with Guard Clauses
  • تکنیک ریفکتورینگ Replace Conditional with Polymorphism

فصل هشتم: تکنیک های ریفکتورینگ مربوط به فراخوانی متدها

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به فراخوانی متدها
  • تکنیک ریفکتورینگ Rename Method
  • تکنیک ریفکتورینگ Add Parameter
  • تکنیک ریفکتورینگ Remove Parameter
  • تکنیک ریفکتورینگ Separate Query from Modifier
  • تکنیک ریفکتورینگ Parameterize Method
  • تکنیک ریفکتورینگ Replace Parameter with Explicit Methods
  • تکنیک ریفکتورینگ Preserve Whole Object
  • تکنیک ریفکتورینگ Replace Parameter with Method
  • تکنیک ریفکتورینگ Introduce Parameter Object
  • تکنیک ریفکتورینگ Remove Setting Method
  • تکنیک ریفکتورینگ Hide Method
  • تکنیک ریفکتورینگ Replace Constructor with Factory Method
  • تکنیک ریفکتورینگ Encapsulate Downcast
  • تکنیک ریفکتورینگ Replace Error Code with Exception
  • تکنیک ریفکتورینگ Replace Exception with Test

فصل نهم: تکنیک های ریفکتورینگ مربوط به شی گرایی و وراثت

  • معرفی و بررسی عملی تکنیک های ریفکتورینگ مربوط به شی گرایی و وراثت
  • تکنیک ریفکتورینگ Pull Up Field
  • تکنیک ریفکتورینگ Pull Up Method
  • تکنیک ریفکتورینگ Pull Up Constructor Body
  • تکنیک ریفکتورینگ Push Down Method
  • تکنیک ریفکتورینگ Push Down Field
  • تکنیک ریفکتورینگ Extract Subclass
  • تکنیک ریفکتورینگ Extract Superclass
  • تکنیک ریفکتورینگ Extract Interface
  • تکنیک ریفکتورینگ Collapse Hierarchy
  • تکنیک ریفکتورینگ Form Template Method
  • تکنیک ریفکتورینگ Replace Inheritance with Delegation
  • تکنیک ریفکتورینگ Replace Delegation with Inheritance
  • جمع بندی



پرووید: مرکز آموزش تخصصی برنامه نویسی و توسعه نرم افزار