کتاب تستنویسی در پارادایم تابعی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی تستنویسی در پارادایم تابعی کدنویسی تمیزتر، باگهای کمتر: استاد شوید! آیا از چالشهای تستنویسی در پروژههای بزرگ و پیچیده خسته شدهاید؟ آیا به دنبال راهی برای افزایش چشمگیر کیفیت کد و کاه...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تستنویسی در پارادایم تابعی
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی تابعی (FP)
- 2. مفاهیم اصلی FP: توابع خالص
- 3. مفاهیم اصلی FP: تغییرناپذیری (Immutability)
- 4. مفاهیم اصلی FP: توابع مرتبه بالا (Higher-Order Functions)
- 5. تفاوت برنامهنویسی دستوری و تابعی
- 6. مزایای برنامهنویسی تابعی
- 7. معایب برنامهنویسی تابعی
- 8. نصب و راهاندازی محیط برنامهنویسی (مثال: Haskell, Scala, F#)
- 9. انواع دادههای جبری (Algebraic Data Types - ADTs)
- 10. الگوهای تطبیق (Pattern Matching)
- 11. توابع بازگشتی (Recursive Functions)
- 12. بازگشت دنبالهای (Tail Recursion)
- 13. تکنیکهای بهینهسازی بازگشت
- 14. تایپ استاتیک در FP
- 15. استنتاج نوع (Type Inference)
- 16. انواع دادههای پارامتری (Parametric Types)
- 17. توابع چندریختی (Polymorphic Functions)
- 18. Composition توابع
- 19. Currying توابع
- 20. Partial Application توابع
- 21. ایجاد و ترکیب توابع خالص
- 22. توابع مرتبه بالا: map
- 23. توابع مرتبه بالا: filter
- 24. توابع مرتبه بالا: reduce (fold)
- 25. توابع مرتبه بالا: zip
- 26. توابع مرتبه بالا: compose
- 27. จัดการข้อผิดพลาด در FP
- 28. Monad ها: Maybe/Option
- 29. Monad ها: Either/Result
- 30. Monad ها: IO
- 31. Monad ها: List
- 32. Monad ها: State
- 33. Monad ها: Reader
- 34. Monad ها: Writer
- 35. ترکیب Monad ها
- 36. کاربرد Monad ها در تستنویسی
- 37. مقدمهای بر تستنویسی
- 38. اهمیت تستنویسی در FP
- 39. انواع تستها: Unit Test
- 40. انواع تستها: Integration Test
- 41. انواع تستها: Property-Based Testing
- 42. فریمورکهای تستنویسی در FP (مثال: Hspec, ScalaTest, FsCheck)
- 43. نصب و راهاندازی فریمورک تست
- 44. نوشتن اولین Unit Test
- 45. آشنایی با Assertion ها
- 46. ایجاد Test Suite
- 47. اجرای Test Suite
- 48. گزارشگیری از نتایج تست
- 49. تست توابع خالص
- 50. تست توابع مرتبه بالا
- 51. تست توابع بازگشتی
- 52. تست توابع Curried
- 53. تست توابع Partially Applied
- 54. تست توابع Composed
- 55. تست انواع دادههای جبری (ADTs)
- 56. تست الگوهای تطبیق (Pattern Matching)
- 57. تست کد با Monad ها (Maybe/Option)
- 58. تست کد با Monad ها (Either/Result)
- 59. تست کد با Monad ها (IO)
- 60. تست کد با Monad ها (List)
- 61. تست کد با Monad ها (State)
- 62. تست کد با Monad ها (Reader)
- 63. تست کد با Monad ها (Writer)
- 64. استفاده از Mock ها و Stubs در تستنویسی FP
- 65. استفاده از Fake ها در تستنویسی FP
- 66. ایجاد و استفاده از Spy ها در تستنویسی FP
- 67. تست رفتاری (Behavior-Driven Development - BDD) در FP
- 68. استفاده از سناریوهای BDD
- 69. تست ادغام (Integration Testing) در FP
- 70. تست سیستم (System Testing) در FP
- 71. تست ویژگیمحور (Property-Based Testing)
- 72. ایجاد ژنراتورهای داده
- 73. تعریف ویژگیها (Properties)
- 74. اجرای تستهای ویژگیمحور
- 75. مزایای تست ویژگیمحور
- 76. تست موازی (Parallel Testing)
- 77. استفاده از ابزارهای پوشش کد (Code Coverage)
- 78. بهبود پوشش کد
- 79. استفاده از ابزارهای تحلیل استاتیک (Static Analysis)
- 80. بهبود کیفیت کد با تحلیل استاتیک
- 81. الگوهای طراحی تست در FP
- 82. تستهای خودکار (Automated Testing)
- 83. CI/CD و تستنویسی FP
- 84. ادغام تستها در فرآیند CI/CD
- 85. ریفکتورینگ با کمک تستها
- 86. مدیریت Dependencies در تستنویسی FP
- 87. تست کدهای ناخالص (Impure Functions)
- 88. تست کدهای Concurrent
- 89. تست کدهای Distributed
- 90. تست کدهای Real-Time
- 91. مباحث پیشرفته در تستنویسی FP
- 92. استفاده از Type Providers برای تست
- 93. تست مبتنی بر قرارداد (Contract-Based Testing)
- 94. استراتژیهای تست برای برنامههای FP بزرگ
- 95. مستندسازی تستها
- 96. تستهای Mutation
- 97. استفاده از ابزارهای Mutation Testing
- 98. بهبود تستها با استفاده از Mutation Testing
- 99. نکات و ترفندهای تستنویسی FP
- 100. اشتباهات رایج در تستنویسی FP و نحوه اجتناب از آنها
تگها:
آموزش آنلاین
برنامه نویسی
برنامهنویسی تابعی (Functional Programming)
تستنویسی در پارادایم تابعی
دوره آموزشی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.