دوره
Refactoring
با کمک تست های خودکار
مدرس
هادی احمدی
دسته بندی
تست نرم افزار
مدت دوره
21 ساعت
جلسات دوره
7 جلسه 3 ساعته
نحوه برگزاری
آنلاین
تاریخ شروع
10 شهریور 1399
هزینه دوره
1.000.000 تومان
ثبت نام
سرفصل
آشنایی با مفاهیم اولیه
Refactoring
تعریف
Refactoring
و اصول آن
نقش تست های خودکار در
Refactoring
قانون
Two-Hat
در
Refactoring
چرخه های مختلف
Refactoring
TDD Refactoring
Litter-Pickup Refactoring
Comprehension Refactoring
Preparatory Refactoring
Planned Refactoring
Long Term Refactoring
بررسی
Refactoring
از زوایای مختلف
Basic Refactoring - Large Refactoring
Safe Refactoring - Unsafe Refactoring
Automated Refactoring - Manual Refactoring
شناسایی و اولویت بندی بخش ها برای
Refactoring
آشنایی با نحوه آنالیز کد و تاریخچه
Source Control
شناسایی کدهای با نرخ تغییر زیاد
شناسایی کدهای پیچیده
شناسایی الگوهای تغییر پرهزینه
آشنایی با مفهوم «عمر کد»
آشنایی با
Smell
ها و
Bad Practice
ها
آشنایی با
Code Smell
های رایج
آشنایی با
Design & Architecture Smell
ها
بررسی تکنیک های
Basic Refactoring
Composing Methods
Moving Features Between Objects
Organizing Data
Simplifying Conditional Expressions
Making Method Calls Simpler
Dealing with Generalization
بررسی تکنیک های
Large Refactoring
Refactoring Plan & Detailed Plan
Branch By Abstraction
Black-box Tests
Refactoring-Enabling Refactorings
Detours
تست نویسی در کدهای
Legacy
اصول و قدم های تست نویسی در پروژه های
Legacy
آشنایی با
Seam
ها و انواع آنها
نحوه اضافه کردن
Feature
جدید و تست آنها
مشکلات تست نویسی در کدهای غیر قابل تست و راه حل های آنها
High Coupling
یک کلاس به کلاس های دیگر
یک
Method
در تست ها قابل صدا زدن نمی باشد
عدم زمان کافی برای
Refactor،
هنگام اضافه کردن قابلیت جدید
عدم فهم کد موجود و حالت های اجرایی آن جهت اعمال
Refactoring
عدم آگاهی از
Side-Effect
تغییرات بر روی کدهای موجود
تکنیک های از بین بردن
High Coupling
بین کلاس ها جهت
Testable
کردن آن ها
Adapt Parameter
Break out Method Object
Definition Completion
Encapsulate Global References
Expose Static Method
Extract and Override Call
Extract and Override Factory Method
Extract and Override Getter
Extract Implementer
Extract Interface
Introduce Instance Delegator
Link Substitution
Introduce Static Setter
Parameterize Constructor
Parameterize Method
Primitivize Patameter
Pull Up Feature
Push Down Dependency
Replace Function with Function Pointer
Replace Global Reference with Getter
Subclass and Override Method
Supersede Instance Variable
Template Redefinition
Text Redefintion
استفاده از
Property-Based Testing
در
Refactoring
مروری بر
Property-Based Testing
مروری بر روش های شناسایی
Property
ها
استفاده از کد
Legacy
به عنوان
Model
در
Refactoring
استفاده از
Symmetric Properties
برای تسهیل
Refactoring
×
صفحه مورد نظر هنوز به قالب جدید انتقال نیافته است. برای مشاهده نسخه قدیم کلیک کنید.
مشاهده نسخه قدیمی