لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش نوشتن و بازسازی کدهای PHP قابل تست
- آخرین آپدیت
دانلود Writing and Refactoring Testable PHP
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
نوآوری در یک کدبیس PHP شلوغ و سازماننیافته دشوار است. توسعه تستمحور (TDD) یک رویکرد توسعه حرفهایتر است که به جلوگیری از بروز خطاهای پسروندی (Regressions)، افزایش اعتماد توسعهدهنده به کدبیس و تمیز نگه داشتن کد برای تغییرات منطق کسبوکار کمک میکند. در این دوره، میآموزید که توسعهدهندگان PHP چگونه میتوانند از TDD در پروژههای جدید استفاده کنند و کدهای پروژههای موجود را بازسازی (Refactor) نمایند.
این دوره با GitHub Codespaces ادغام شده است؛ یک محیط توسعه ابری فوری که تمام قابلیتهای IDE مورد علاقه شما را بدون نیاز به تنظیمات محلی روی سیستم فراهم میکند. با GitHub Codespaces، میتوانید در هر زمان و با هر دستگاهی تمرین عملی داشته باشید—در حالی که از ابزاری استفاده میکنید که احتمالاً در محیطهای کاری واقعی با آن مواجه خواهید شد. برای شروع، ویدیو “استفاده از GitHub Codespaces در این دوره”را مشاهده کنید.
سرفصل ها و درس ها
مقدمه
Introduction
مفاهیم و تکنولوژیهایی که باید بدانید
Concepts and technologies you should know
توسعه تستمحور و بازسازی در PHP
Test-driven development and refactoring in PHP
استفاده از GitHub Codespaces در این دوره
Using GitHub Codespaces with this course
1. شما اینجا چه میکنید؟
1. What Are You Doing Here?
تست خودکار
Automated testing
زمان مناسب برای بازسازی کد
When to refactor
تعریف انواع تستها
Define types of testing
بازسازی کد (Refactoring) چیست؟
What is refactoring?
2. TDD در یک پروژه جدید
2. TDD a New Project
نوشتن کدهای قابل تست
Write testable code
نوشتن یک تست واحد شکستخورده، پاس کردن تست و بازسازی
Write a failing unit test, make the test pass, refactor
نوشتن تست پذیرش (Acceptance Test)
Write an acceptance test
پیکربندی پروژه برای تستها
Configure a project for tests
3. چه مواردی در پروژههای موجود (Legacy) باید بازسازی شوند
3. What to Refactor in Existing (Legacy) Projects
فایلهایی که اغلب تغییر میکنند
Files that are modified often
تغییر تعداد زیادی از فایلها برای یک قابلیت
Change lots of files for one feature
وابستگی شدید (Strong Coupling)
Strong coupling
بلاکهای بزرگ منطقی
Large chunks of logic
منطق نادرست OOP
Incorrect OOP logic
کدهای غیرضروری
Unnecessary code
استفاده از Mockها
Using mocks
شناسایی بهترین نقطه برای شروع
Identifying the best place to start
4. مثالهایی از بازسازی تستمحور
4. Examples of Test-Driven Refactoring
استخراج قابلیتها (با استفاده از TDD)
Extract functionality (using TDD)
افزودن یک تست پاس شده
Add one passing test
سادهسازی شرطها
Simplify conditionals
سادهسازی امضای توابع
Simplify function signatures
شناسایی توابع شکننده و افزودن تست
Identify a brittle function and add tests
5. مثالهای OOP در بازسازی تستمحور
5. OOP Examples of Test-Driven Refactoring
شناسایی اشیاء از توابع مرتبط
Identify objects from related functions
جایگزینی شرطها با کلاسهای رابط (Interface)
Replace conditionals with interfaced classes
افزودن Null Objects
Add null objects
افزودن Value Objects (تست آسان)
Add value objects (easy to test)
جایگزینی آرایهها با اشیاء
Replace arrays with objects
6. سرعت بخشیدن به پیشرفت با حرکت آهستهتر
6. Moving Fast by Moving Slower
کد بدون وابستگی (Decoupled)
Decoupled code
کد تمیزتر
Cleaner code
تبدیل شدن به یک توسعهدهنده بهتر
Become a better developer
جلوگیری از خطاهای پسروندی
Prevent regressions
ایجاد پیشرفت مستمر
Make steady progress
7. TDD و بازسازی در دنیای واقعی
7. TDD and Refactoring in the Real World
مدیریت در مواجهه با ددلاینهای نزدیک
With a looming deadline
کار با مدیر محصولی که TDD و بازسازی را نمیشناسد
With a PM that doesn’t understand TDD and refactoring
کار با تیمی که TDD و بازسازی را نمیشناسد
With a team that doesn't understand TDD and refactoring
کار روی پروژههای با کد اسپاگتی
On a spaghetti-code project
نمایش نظرات