اپلیکیشن اندرویدی فلشکارت آموزشی Refactoring با TDD: چگونه کدهای قدیمی را مدرن و قابل تست کنیم
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Refactoring با TDD: چگونه کدهای قدیمی را مدرن و قابل تست کنیم
موضوع کلی: برنامه نویسی
موضوع میانی: توسعه آزمونمحور (TDD)
📋 سرفصلهای دوره
- 1. مقدمهای بر مهندسی نرمافزار و متدولوژیهای چابک
- 2. اصول توسعه مبتنی بر تست (TDD) و اهمیت آن
- 3. چرخه حیات توسعه مبتنی بر تست: قرمز، سبز، بازسازی
- 4. نوشتن اولین تست واحد: درک رفتار مورد انتظار
- 5. پیادهسازی کد برای گذراندن تست: اولین گام در TDD
- 6. بازسازی کد: پاکسازی و بهبود ساختار بدون تغییر رفتار
- 7. ابزارهای رایج برای توسعه مبتنی بر تست در زبانهای مختلف
- 8. محیطهای توسعه یکپارچه (IDE) و پشتیبانی از TDD
- 9. مدیریت وابستگیها در پروژههای نرمافزاری
- 10. تکنیکهای تست واحد برای کلاسها و توابع
- 11. تست واحد برای کلاسهای با وابستگیهای خارجی
- 12. استفاده از Mocking و Stubbing برای شبیهسازی وابستگیها
- 13. اصول طراحی نرمافزار SOLID و ارتباط آن با TDD
- 14. اصل مسئولیت واحد (Single Responsibility Principle) و TDD
- 15. اصل باز (Open/Closed Principle) و TDD
- 16. اصل جایگزینی لیسکوف (Liskov Substitution Principle) و TDD
- 17. اصل جداسازی رابط (Interface Segregation Principle) و TDD
- 18. اصل وارونگی وابستگی (Dependency Inversion Principle) و TDD
- 19. الگوهای طراحی (Design Patterns) و کاربرد آنها در TDD
- 20. الگوهای GOF: کارخانهها (Factories) و TDD
- 21. الگوهای GOF: مشاهدهگر (Observer) و TDD
- 22. الگوهای GOF: استراتژی (Strategy) و TDD
- 23. بازسازی کد: شناسایی کدهای تکراری و کدهای بدبو (Code Smells)
- 24. تکنیکهای بازسازی: استخراج متد (Extract Method)
- 25. تکنیکهای بازسازی: استخراج کلاس (Extract Class)
- 26. تکنیکهای بازسازی: جابجایی متد (Move Method)
- 27. تکنیکهای بازسازی: جابجایی فیلد (Move Field)
- 28. تکنیکهای بازسازی: حذف کد مرده (Remove Dead Code)
- 29. تکنیکهای بازسازی: سادهسازی شرطها (Simplify Conditionals)
- 30. تکنیکهای بازسازی: جایگزینی عبارت با متد (Replace Magic Number with Symbolic Constant)
- 31. تکنیکهای بازسازی: جایگزینی عبارت با شیء (Replace Temp with Query)
- 32. مدیریت خطا و استثنائات در TDD
- 33. نوشتن تست برای سناریوهای خطا و استثنائات
- 34. تستهای ادغام (Integration Tests) و نقش آنها
- 35. تستهای سیاه جعبه (Black Box Testing)
- 36. تستهای سفید جعبه (White Box Testing)
- 37. تستهای پذیرش (Acceptance Tests) و TDD
- 38. توسعه مبتنی بر رفتار (BDD) و ارتباط آن با TDD
- 39. ابزارهای BDD مانند Cucumber و SpecFlow
- 40. بازسازی پایگاه داده در کنار بازسازی کد
- 41. اصول طراحی پایگاه داده بدون ربا و سازگار با فقه اسلامی
- 42. مدیریت تراکنشها در پایگاه داده
- 43. تست واحد برای منطق پایگاه داده
- 44. تست ادغام با پایگاه داده
- 45. امنیت نرمافزار و TDD
- 46. تستهای امنیتی در چرخه توسعه
- 47. پیادهسازی احراز هویت و مجوزها با TDD
- 48. محافظت در برابر حملات رایج (SQL Injection، XSS)
- 49. اصول برنامهنویسی ایمن در چارچوب قوانین جمهوری اسلامی ایران
- 50. بازسازی کدهای قدیمی (Legacy Code)
- 51. شناسایی نقاط ضعف در کدهای قدیمی
- 52. ایجاد پوشش تست برای کدهای قدیمی
- 53. استفاده از تکنیکهای Parasoft Jtest یا SonarQube برای تحلیل کد
- 54. مهاجرت کد به معماریهای مدرن
- 55. استفاده از الگوهای معماری میکروسرویس با رویکرد TDD
- 56. مدیریت وابستگی بین میکروسرویسها
- 57. تست در معماری میکروسرویس
- 58. پیادهسازی CI/CD (Continuous Integration/Continuous Deployment)
- 59. نقش TDD در فرآیند CI/CD
- 60. ابزارهای CI/CD مانند Jenkins، GitLab CI، GitHub Actions
- 61. خودکارسازی فرآیند تست در CI/CD
- 62. مانیتورینگ و گزارشدهی در طول فرآیند توسعه
- 63. استفاده از ابزارهای مانیتورینگ مانند Prometheus و Grafana
- 64. تحلیل لاگها و ردیابی خطاها
- 65. مدیریت عملکرد (Performance Management)
- 66. تستهای بار (Load Testing) و تستهای استرس (Stress Testing)
- 67. بهینهسازی کد برای بهبود عملکرد
- 68. اصول اخلاق حرفهای در مهندسی نرمافزار
- 69. رعایت حقوق مالکیت معنوی و مجوزهای نرمافزار
- 70. مسئولیتپذیری در قبال کیفیت کد و امنیت نرمافزار
- 71. توسعه پایدار و ملاحظات زیستمحیطی در فناوری اطلاعات
- 72. کار تیمی و همکاری در پروژههای نرمافزاری
- 73. مدیریت دانش در تیمهای توسعه
- 74. بازخورد مستمر و بهبود فرآیندها
- 75. حل تعارض در تیمهای توسعه
- 76. مدیریت زمان و اولویتبندی وظایف
- 77. مستندسازی کد و فرآیندها
- 78. اهمیت مستندسازی فنی و کاربر
- 79. استفاده از ابزارهای مستندسازی خودکار
- 80. مدیریت تغییرات و نسخهبندی کد
- 81. استفاده از Git و Gitflow
- 82. مدیریت شاخهها (Branches) و ادغام (Merging)
- 83. کنترل کیفیت نرمافزار
- 84. فرآیندهای بازبینی کد (Code Review)
- 85. مدیریت عیوب (Defect Management)
- 86. استانداردهای کدنویسی و راهنماهای سبک (Style Guides)
- 87. تطبیق استانداردهای کدنویسی با چارچوبهای شرعی و قانونی
- 88. آموزش مداوم و بهروزرسانی دانش فنی
- 89. بررسی روندهای جدید در مهندسی نرمافزار
- 90. یادگیری از تجربیات موفق و ناموفق
- 91. کاربرد TDD در توسعه وب (Frontend & Backend)
- 92. تست واحد برای کامپوننتهای UI
- 93. تست واحد برای APIهای Backend
- 94. تست End-to-End با ابزارهایی مانند Selenium
- 95. کاربرد TDD در توسعه اپلیکیشنهای موبایل
- 96. تست واحد برای منطق اپلیکیشن
- 97. تست UI/UX در موبایل
- 98. تستهای عملکردی و امنیتی اپلیکیشنهای موبایل
- 99. ملاحظات حقوقی و شرعی در توسعه نرمافزار در ایران
- 100. قوانین حفاظت از دادهها و حریم خصوصی
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.