دوره Technical Debt Reduction Strategies همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Technical Debt Reduction Strategies
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر بدهی فنی: تعریف و استعاره
- 2. چرا بدهی فنی ایجاد میشود؟ دلایل ریشهای
- 3. انواع بدهی فنی: عمدی، سهوی و تدریجی
- 4. هزینههای پنهان و آشکار بدهی فنی
- 5. ارتباط مستقیم بین کد تمیز و کاهش بدهی فنی
- 6. کد تمیز چیست؟ فراتر از کدِ کارا
- 7. ذهنیت یک توسعهدهنده حرفهای
- 8. قانون پسر پیشاهنگ (The Boy Scout Rule)
- 9. هزینه مالکیت کل (TCO) در نرمافزار
- 10. نقش اصول و الگوها در پیشگیری از بدهی فنی
- 11. اهمیت نامگذاری: انتخاب نامهای معنادار
- 12. اجتناب از اطلاعات غلط در نامگذاری (Disinformation)
- 13. استفاده از نامهای قابل تلفظ و قابل جستجو
- 14. قواعد نامگذاری برای کلاسها، متدها و متغیرها
- 15. پرهیز از نگاشت ذهنی (Mental Mapping)
- 16. توابع باید کوچک باشند
- 17. قانون تک مسئولیتی برای توابع (Do One Thing)
- 18. سطوح انتزاع در یک تابع (Stepdown Rule)
- 19. تعداد آرگومانهای تابع: از صفر تا دو
- 20. آرگومانهای پرچمی (Flag Arguments) و چرا باید از آنها اجتناب کرد
- 21. جداسازی دستور از پرس و جو (Command Query Separation)
- 22. پرهیز از اثرات جانبی (Side Effects)
- 23. اصل تکرار نکردن خود (Don't Repeat Yourself - DRY)
- 24. مدیریت خطا: استفاده از Exceptions به جای Error Codes
- 25. نوشتن بلوکهای Try-Catch-Finally
- 26. ارائه زمینه (Context) کافی در Exceptionها
- 27. اجتناب از برگرداندن و ارسال Null
- 28. کامنتها: شکست در بیان مقصود با کد
- 29. کامنتهای خوب: توضیحات قانونی و اطلاعرسانی
- 30. کامنتهای بد: توضیحات اضافی، گمراهکننده و تاریخ گذشته
- 31. خطر کدهای کامنتشده (Commented-out Code)
- 32. قالببندی کد: اهمیت خوانایی
- 33. قالببندی عمودی: فشردگی و فاصله
- 34. قالببندی افقی: طول خطوط و همترازی
- 35. قوانین تورفتگی (Indentation)
- 36. اشیاء و ساختارهای داده: تقارن معکوس
- 37. قانون دیمیتر (The Law of Demeter)
- 38. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
- 39. اصل باز-بسته (Open/Closed Principle - OCP)
- 40. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 41. اصل تفکیک اینترفیس (Interface Segregation Principle - ISP)
- 42. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
- 43. مفهوم انسجام (Cohesion)
- 44. مفهوم وابستگی (Coupling)
- 45. هدفگذاری برای انسجام بالا و وابستگی کم
- 46. اصل سادگی (KISS: Keep It Simple, Stupid)
- 47. اصل عدم نیاز آینده (YAGNI: You Ain't Gonna Need It)
- 48. مقدمهای بر ریفکتورینگ: تعریف و ضرورت
- 49. چه زمانی باید ریفکتورینگ انجام داد؟
- 50. ریفکتورینگ ایمن با استفاده از تستها
- 51. دو کلاه توسعهدهنده: افزودن ویژگی در مقابل ریفکتورینگ
- 52. شناسایی بوهای کد (Code Smells)
- 53. بوی کد: متد طولانی (Long Method)
- 54. بوی کد: کلاس بزرگ (Large Class)
- 55. بوی کد: کد تکراری (Duplicate Code)
- 56. بوی کد: حسادت به ویژگی (Feature Envy)
- 57. بوی کد: دستههای داده (Data Clumps)
- 58. بوی کد: وسواس انواع داده اولیه (Primitive Obsession)
- 59. بوی کد: دستورات Switch
- 60. بوی کد: وراثت نامناسب (Refused Bequest)
- 61. بوی کد: کامنتها
- 62. تکنیک ریفکتورینگ: استخراج متد (Extract Method)
- 63. تکنیک ریفکتورینگ: تغییر نام (Rename)
- 64. تکنیک ریفکتورینگ: استخراج کلاس (Extract Class)
- 65. تکنیک ریفکتورینگ: جایگزینی عدد جادویی با ثابت نامدار
- 66. تکنیک ریفکتورینگ: تجزیه شرط (Decompose Conditional)
- 67. تکنیک ریفکتورینگ: معرفی شیء پارامتر (Introduce Parameter Object)
- 68. تکنیک ریفکتورینگ: بالا بردن متد (Pull Up Method)
- 69. تکنیک ریفکتورینگ: پایین آوردن متد (Push Down Method)
- 70. نقش تستها در جلوگیری از ایجاد بدهی فنی جدید
- 71. هرم تست: تستهای واحد، یکپارچهسازی و انتها به انتها
- 72. توسعه آزمونمحور (TDD) به عنوان یک استراتژی پیشگیرانه
- 73. چرخه قرمز-سبز-ریفکتور در TDD
- 74. اصول F.I.R.S.T برای تستهای تمیز
- 75. نوشتن کدهای قابل تست (Testable Code)
- 76. استفاده از Mock و Stub برای جداسازی وابستگیها
- 77. تستهای مشخصهنما (Characterization Tests) برای کدهای موروثی
- 78. پوشش کد (Code Coverage): معیارها و دامها
- 79. اهمیت بازبینی کد (Code Review) در فرهنگ تیم
- 80. ارائه و دریافت بازخورد سازنده در بازبینی کد
- 81. برنامهنویسی دونفره (Pair Programming)
- 82. مالکیت جمعی کد (Collective Code Ownership)
- 83. اهمیت داشتن یک استاندارد کدنویسی (Coding Standard)
- 84. تعریف مشترک "انجام شده" (Definition of Done)
- 85. نقش یکپارچهسازی مداوم (Continuous Integration)
- 86. ارتباط بدهی فنی با ذینفعان غیرفنی
- 87. نقش مدیر فنی در مدیریت بدهی فنی
- 88. پرورش فرهنگ کیفیت در تیم
- 89. استراتژیهای شناسایی و ثبت بدهی فنی
- 90. ابزارهای تحلیل استاتیک کد
- 91. اندازهگیری بدهی فنی: معیارهای پیچیدگی سایکلوماتیک
- 92. ماتریس بدهی فنی: اولویتبندی بر اساس تأثیر و هزینه
- 93. استراتژیهای پرداخت بدهی فنی در پروژههای بزرگ
- 94. الگوی انجیر خفهکننده (Strangler Fig Pattern) برای سیستمهای موروثی
- 95. ریفکتورینگ معماری در مقابل ریفکتورینگ کد
- 96. تعادل بین توسعه ویژگیهای جدید و کاهش بدهی فنی
- 97. نقش طراحی دامنه محور (DDD) در پیشگیری از بدهی فنی
- 98. جمعبندی: بدهی فنی یک انتخاب است، نه یک تقدیر
- 99. مسیر بهبود مستمر و یادگیری مادامالعمر
- 100. **اندازهگیری و پایش بدهی فنی: ابزارها، تکنیکها و KPIها**
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.