اپلیکیشن اندرویدی فلشکارت آموزشی رهایی از بدهی فنی (Technical Debt) با کدنویسی تمیز
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره رهایی از بدهی فنی (Technical Debt) با کدنویسی تمیز
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر بدهی فنی و کدنویسی تمیز
- 2. چرا بدهی فنی ایجاد میشود؟
- 3. تاثیرات منفی بدهی فنی بر پروژه
- 4. مزایای کدنویسی تمیز
- 5. ارتباط عمیق بین کدنویسی تمیز و کاهش بدهی فنی
- 6. اولین گام: درک هدف کد
- 7. نامگذاری معنادار متغیرها
- 8. نامگذاری معنادار توابع
- 9. نامگذاری معنادار کلاسها
- 10. انتخاب نامهای توصیفی و غیر مبهم
- 11. قوانین نامگذاری در زبانهای مختلف (نمونه)
- 12. تکنیکهای نامگذاری (Camel Case, Snake Case, Pascal Case)
- 13. اجتناب از نامهای مخفف یا گیجکننده
- 14. انتخاب نامهایی که قصد واقعی را بیان کنند
- 15. اهمیت خوانایی نامها
- 16. چرا توابع کوچک مهم هستند؟
- 17. قانون تک مسئولیتی (SRP) برای توابع
- 18. کاهش پیچیدگی توابع
- 19. تکنیک تقسیم توابع بزرگ
- 20. تابع به عنوان واحد قابل فهم
- 21. نوشتن توابع قابل تست
- 22. تابع با ورودی و خروجی مشخص
- 23. اجتناب از اثرات جانبی (Side Effects) در توابع
- 24. انتخاب نامهای افعال برای توابع
- 25. تشخیص توابع طولانی و پیچیده
- 26. اصل KISS (Keep It Simple, Stupid)
- 27. اصل DRY (Don't Repeat Yourself)
- 28. شناسایی و حذف کدهای تکراری
- 29. تکنیکهای استخراج کد تکراری به تابع
- 30. اهمیت انتزاع (Abstraction)
- 31. کلاسها به عنوان واحدهای معنادار
- 32. قانون تک مسئولیتی (SRP) برای کلاسها
- 33. حفظ چسبندگی (Cohesion) در کلاسها
- 34. کاهش وابستگی (Coupling) بین کلاسها
- 35. طراحی کلاسهای کوچک و متمرکز
- 36. استفاده از الگوهای طراحی (Design Patterns) برای سازماندهی کلاسها
- 37. اجتناب از کلاسهای بزرگ و غولپیکر (God Objects)
- 38. ارتباط بین کلاسها و نحوه تعامل آنها
- 39. کلاسهای داده (Data Classes) در مقابل کلاسهای رفتار (Behavior Classes)
- 40. اهمیت وضوح در طراحی کلاس
- 41. مدیریت خطاها و استثناها (Exceptions)
- 42. مفهوم خطا و استثنا
- 43. مدیریت صحیح استثناها
- 44. پراکندن استثناها (Exception Propagation)
- 45. نوشتن کدهای استثنایی (Exception Handling) تمیز
- 46. استفاده از بلوکهای try-catch-finally به صورت بهینه
- 47. تفاوت بین خطا و استثنا
- 48. شناسایی سناریوهای استثنایی
- 49. نوشتن پیامهای خطای مفید
- 50. انتخاب نوع استثنای مناسب
- 51. اجتناب از نادیده گرفتن استثناها
- 52. مفهوم کامنت (Comment) و هدف آن
- 53. کامنتهای توضیحی و کامنتهای توجیهی
- 54. چه زمانی کامنت بنویسیم؟
- 55. چه زمانی از کامنت پرهیز کنیم؟
- 56. کامنتهای خود-توضیحگر (Self-Documenting Code)
- 57. حذف کامنتهای غیر ضروری یا قدیمی
- 58. کامنتگذاری برای اهداف پیچیده یا ناگهانی
- 59. اهمیت نگهداری کامنتها
- 60. استانداردهای کامنتگذاری
- 61. قوانین قالببندی کد (Code Formatting)
- 62. اهمیت یکسانسازی قالببندی
- 63. استفاده از ابزارهای فرمتکننده خودکار (Linters, Formatters)
- 64. تکنیکهای تورفتگی (Indentation)
- 65. استفاده از فضای سفید (Whitespace) برای خوانایی
- 66. قالببندی شرطها و حلقهها
- 67. قالببندی توابع و بلوکهای کد
- 68. استانداردهای قالببندی در تیمها
- 69. تکنیکهای refactoring اساسی
- 70. شناخت کد نیازمند refactoring
- 71. اولین گامهای refactoring
- 72. استخراج تابع (Extract Method)
- 73. استخراج متغیر (Extract Variable)
- 74. جابجایی کد (Move Method/Field)
- 75. تغییر نام (Rename)
- 76. قوانین طلایی refactoring
- 77. اهمیت refactoring مستمر
- 78. شناسایی بدهی فنی در کد
- 79. تکنیکهای شناسایی بدهی فنی
- 80. ابزارهای تحلیل کد ایستا (Static Code Analysis Tools)
- 81. Metric های کد (Code Metrics)
- 82. کد تکراری به عنوان نشانه بدهی فنی
- 83. کلاسهای بزرگ به عنوان نشانه بدهی فنی
- 84. توابع طولانی به عنوان نشانه بدهی فنی
- 85. وابستگیهای پیچیده به عنوان نشانه بدهی فنی
- 86. مستندات قدیمی یا ناقص به عنوان نشانه بدهی فنی
- 87. تستهای ناکافی یا ضعیف به عنوان نشانه بدهی فنی
- 88. فهم ساختار کد (Code Structure)
- 89. پیچیدگی سیکلوماتیک (Cyclomatic Complexity)
- 90. کلاسهای بزرگ (Large Classes)
- 91. روشهای طولانی (Long Methods)
- 92. هزینه بدهی فنی
- 93. اهمیت refactoring در چارچوب Agile
- 94. مدیریت بدهی فنی در طول چرخه عمر پروژه
- 95. استراتژیهای کاهش تدریجی بدهی فنی
- 96. اولویتبندی بدهیهای فنی
- 97. نقش تیم در کاهش بدهی فنی
- 98. فرهنگ کدنویسی تمیز در تیم
- 99. ایجاد یک گیت (Gate) برای جلوگیری از افزایش بدهی فنی
- 100. تستنویسی (Writing Tests)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.