اپلیکیشن اندرویدی فلشکارت آموزشی شناسایی و رفع بوی کد در برنامههای C++
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره شناسایی و رفع بوی کد در برنامههای C++
موضوع کلی: مهندسی نرمافزار و توسعهٔ پایدار
موضوع میانی: بهینهسازی و نگهداری کد
📋 سرفصلهای دوره
- 1. مقدمهای بر مهندسی نرمافزار پایدار
- 2. مفاهیم بنیادین مهندسی نرمافزار
- 3. اهمیت نگهداری کد در چرخه عمر نرمافزار
- 4. تعریف بوی کد و انواع آن
- 5. تاریخچه و ریشههای بوی کد
- 6. دستهبندی کلی بوی کد
- 7. بوی کد مرتبط با پیچیدگی طراحی
- 8. بوی کد مرتبط با عدم وضوح
- 9. بوی کد مرتبط با افزونگی
- 10. بوی کد مرتبط با تغییرات ناخواسته
- 11. بوی کد مرتبط با ارتباطات نامناسب
- 12. بوی کد مرتبط با وابستگیهای ناسالم
- 13. تکنیکهای شناسایی بوی کد
- 14. ابزارهای تحلیل ایستا برای کشف بوی کد
- 15. تجزیه و تحلیل کد به صورت دستی
- 16. نقش بازبینی کد در شناسایی بوی کد
- 17. بوی کد: کدهای تکراری (Duplicate Code)
- 18. نشانهها و پیامدهای کدهای تکراری
- 19. روشهای رفع کدهای تکراری: استخراج متد
- 20. روشهای رفع کدهای تکراری: استخراج کلاس
- 21. روشهای رفع کدهای تکراری: استفاده از الگوهای طراحی
- 22. بوی کد: متد طولانی (Long Method)
- 23. پیامدهای متدهای طولانی
- 24. روشهای رفع متدهای طولانی: تقسیم متد
- 25. روشهای رفع متدهای طولانی: جایگزینی با متد پنهان
- 26. روشهای رفع متدهای طولانی: استفاده از الگوهای طراحی
- 27. بوی کد: کلاس بزرگ (Large Class)
- 28. چالشهای کلاسهای بزرگ
- 29. روشهای رفع کلاسهای بزرگ: استخراج کلاس
- 30. روشهای رفع کلاسهای بزرگ: استخراج زیرکلاس
- 31. روشهای رفع کلاسهای بزرگ: تفویض مسئولیت
- 32. بوی کد: پارامترهای زیاد (Long Parameter List)
- 33. مشکلات پارامترهای زیاد
- 34. روشهای رفع پارامترهای زیاد: بستهبندی پارامترها در یک کلاس
- 35. روشهای رفع پارامترهای زیاد: بستهبندی پارامترها در یک ساختار
- 36. روشهای رفع پارامترهای زیاد: جایگزینی با پارامترهای ارجاعی
- 37. بوی کد: وابستگیهای زیاد (Feature Envy)
- 38. نشانههای وابستگیهای زیاد
- 39. روشهای رفع وابستگیهای زیاد: انتقال متد
- 40. روشهای رفع وابستگیهای زیاد: انتقال فیلد
- 41. روشهای رفع وابستگیهای زیاد: استخراج کلاس
- 42. بوی کد: استفاده بیش از حد از کامنت (Comments)
- 43. چه زمانی کامنتها نشانه بوی کد هستند
- 44. روشهای جایگزین کامنتهای غیرضروری
- 45. بوی کد: کدهای مرده (Dead Code)
- 46. شناسایی و حذف کدهای مرده
- 47. اهمیت پاکسازی کدهای مرده
- 48. بوی کد: کدهای پیچیده (Complex Code)
- 49. نشانههای کدهای پیچیده
- 50. روشهای سادهسازی کدهای پیچیده
- 51. بوی کد: کدهای پر از شرط (Switch Statements)
- 52. مشکلات کدهای پر از شرط
- 53. روشهای جایگزین کدهای پر از شرط: چندریختی
- 54. روشهای جایگزین کدهای پر از شرط: جدول پرش
- 55. بوی کد: ساختارهای داده ایستا (Data Class)
- 56. انواع کلاسهای داده
- 57. روشهای تبدیل کلاسهای داده به کلاسهای فعال
- 58. بوی کد: سیستمهای بزرگ (Large Package)
- 59. چالشهای بستههای نرمافزاری بزرگ
- 60. روشهای سازماندهی مجدد بستهها
- 61. بوی کد: کدهای پراکنده (Shotgun Surgery)
- 62. نشانههای کدهای پراکنده
- 63. روشهای رفع کدهای پراکنده: ادغام کلاسها
- 64. روشهای رفع کدهای پراکنده: انتقال متدها
- 65. بوی کد: کدهای پر از وابستگی (Inappropriate Intimacy)
- 66. مشکلات وابستگیهای نامناسب
- 67. روشهای کاهش وابستگیهای ناخواسته
- 68. بوی کد: کدهای نامناسب (Alternative Classes with Different Interfaces)
- 69. نشانههای کلاسهای با رابطهای متفاوت
- 70. روشهای ایجاد رابطهای یکسان
- 71. بوی کد: کدهای تکراری در منطق (Refused Bequest)
- 72. مشکلات وراثت نامناسب
- 73. روشهای حل مشکل وراثت اجباری
- 74. بوی کد: کدهای غیرقابل درک (Message Chains)
- 75. پیامدهای زنجیرههای پیام طولانی
- 76. روشهای شکستن زنجیرههای پیام
- 77. بوی کد: کدهای غیرمنعطف (Middle Man)
- 78. نقش واسطه در معماری نرمافزار
- 79. روشهای حذف واسطههای غیرضروری
- 80. بوی کد: کدهای پنهان (Hidden Mail)
- 81. نشانههای ارتباطات پنهان
- 82. روشهای آشکارسازی ارتباطات
- 83. بوی کد: کدهای نامشخص (Speculative Generality)
- 84. خطرات پیشبینیهای غیرضروری
- 85. روشهای حذف ابهامات و کلیگوییهای بیمورد
- 86. بوی کد: کدهای موقتی (Temporary Field)
- 87. مشکلات فیلدهای موقتی
- 88. روشهای مدیریت بهتر فیلدهای موقتی
- 89. بوی کد: کدهای وابسته به زمان (Local and Global Data)
- 90. چالشهای دادههای محلی و سراسری
- 91. روشهای مدیریت دادهها به صورت محلی
- 92. بوی کد: کدهای نامتناسب (Divergent Change)
- 93. نشانههای تغییرات واگرا
- 94. روشهای جلوگیری از تغییرات واگرا
- 95. بوی کد: کدهای نامفهوم (Parallel Inheritance Hierarchies)
- 96. مشکلات سلسله مراتب وراثت موازی
- 97. روشهای ادغام یا سادهسازی سلسله مراتب
- 98. بوی کد: کدهای اضافی (Lazy Class)
- 99. کلاسهای کمکاربرد و ناکارآمد
- 100. روشهای حذف کلاسهای ناکارآمد
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.