دوره تستپذیری کد با کمک اصول SOLID همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تستپذیری کد با کمک اصول SOLID
موضوع کلی: برنامه نویسی
موضوع میانی: اصول SOLID
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی شیگرا (OOP)
- 2. مفاهیم پایه شیگرایی: کلاس، شی، وراثت، چندریختی
- 3. چرا اصول SOLID مهم هستند؟
- 4. مشکلات کد غیر SOLID
- 5. معرفی اصول SOLID: Single Responsibility Principle (SRP)
- 6. معرفی اصول SOLID: Open/Closed Principle (OCP)
- 7. معرفی اصول SOLID: Liskov Substitution Principle (LSP)
- 8. معرفی اصول SOLID: Interface Segregation Principle (ISP)
- 9. معرفی اصول SOLID: Dependency Inversion Principle (DIP)
- 10. تستپذیری چیست و چرا اهمیت دارد؟
- 11. انواع تست: واحد، یکپارچگی، سیستم
- 12. مزایای تستپذیری کد
- 13. مشکلات کد غیر قابل تست
- 14. مقدمهای بر Unit Testing
- 15. چارچوبهای Unit Testing (مثال: JUnit, NUnit, pytest)
- 16. نوشتن اولین تست واحد
- 17. اصول نوشتن تستهای خوب: FIRST
- 18. Single Responsibility Principle (SRP): تعریف و مفهوم
- 19. SRP: تجزیه کلاسهای بزرگ به کلاسهای کوچکتر
- 20. SRP: مثالهای عملی SRP در کد
- 21. SRP: شناسایی مسئولیتهای یک کلاس
- 22. SRP: روشهای پیادهسازی SRP
- 23. SRP: مزایا و معایب SRP
- 24. Open/Closed Principle (OCP): تعریف و مفهوم
- 25. OCP: گسترش رفتار بدون تغییر کد موجود
- 26. OCP: استفاده از Interface و Abstract Class
- 27. OCP: مثالهای عملی OCP در کد
- 28. OCP: استراتژی و تمپلیت متد پترن
- 29. OCP: مزایا و معایب OCP
- 30. Liskov Substitution Principle (LSP): تعریف و مفهوم
- 31. LSP: سازگاری زیرکلاسها با سوپرکلاسها
- 32. LSP: مثالهای نقض LSP
- 33. LSP: طراحی درست و رعایت LSP
- 34. LSP: مزایا و معایب LSP
- 35. Interface Segregation Principle (ISP): تعریف و مفهوم
- 36. ISP: اجتناب از اینترفیسهای بزرگ و حجیم
- 37. ISP: ایجاد اینترفیسهای کوچک و متمرکز
- 38. ISP: مثالهای عملی ISP در کد
- 39. ISP: مزایا و معایب ISP
- 40. Dependency Inversion Principle (DIP): تعریف و مفهوم
- 41. DIP: جداسازی وابستگیها
- 42. DIP: وابستگی به انتزاع (Abstraction) به جای وابستگی به پیادهسازی (Implementation)
- 43. DIP: Dependency Injection (DI)
- 44. DI: Constructor Injection
- 45. DI: Setter Injection
- 46. DI: Interface Injection
- 47. DI Container ها: معرفی و کاربرد
- 48. مزایای استفاده از DI Container
- 49. پیادهسازی DI Container ساده
- 50. Mocking چیست و چرا استفاده میشود؟
- 51. Mock Object ها در Unit Testing
- 52. Mocking Framework ها (مثال: Mockito, Moq, unittest.mock)
- 53. Stubbing چیست؟
- 54. تفاوت Mock و Stub
- 55. استفاده از Mock ها برای تست سناریوهای مختلف
- 56. تست کردن Exception ها
- 57. تست کردن کد با وابستگی به دیتابیس
- 58. تست کردن کد با وابستگی به سرویسهای خارجی
- 59. تست کردن کد Asynchronous
- 60. تست کردن کد Concurrent
- 61. Code Coverage چیست؟
- 62. انواع Code Coverage
- 63. استفاده از ابزارهای Code Coverage
- 64. تفسیر نتایج Code Coverage
- 65. Refactoring کد برای بهبود تستپذیری
- 66. استفاده از Design Patterns برای بهبود تستپذیری
- 67. استفاده از Inversion of Control (IoC)
- 68. تست Driven Development (TDD): چرخه Red-Green-Refactor
- 69. مزایای TDD
- 70. معایب TDD
- 71. Behavior Driven Development (BDD)
- 72. تفاوت TDD و BDD
- 73. نوشتن Test Case های قابل فهم
- 74. نامگذاری Test ها
- 75. سازماندهی Test ها
- 76. Continuous Integration (CI)
- 77. Continuous Delivery (CD)
- 78. CI/CD Pipelines
- 79. استفاده از ابزارهای CI/CD (مثال: Jenkins, GitLab CI, Azure DevOps)
- 80. تست خودکار (Automated Testing)
- 81. نوشتن Test Suite
- 82. نگهداری Test ها
- 83. به روزرسانی Test ها
- 84. حذف Test های منسوخ شده
- 85. تستهای Regression
- 86. استراتژیهای تست
- 87. انتخاب استراتژی مناسب برای پروژه
- 88. تست کردن API
- 89. تست کردن UI
- 90. تست کردن Performance
- 91. تست کردن Security
- 92. تست کردن Mobile Applications
- 93. تست کردن Embedded Systems
- 94. تست کردن Machine Learning Models
- 95. آنتیپترنهای تستنویسی
- 96. بهترین شیوههای تستنویسی
- 97. تستپذیری در معماری Microservices
- 98. تستپذیری در Cloud Environments
- 99. تستپذیری و DevOps
- 100. اندازهگیری کیفیت کد
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.