اپلیکیشن اندرویدی فلشکارت آموزشی کدنویسی تمیز در توسعه موبایل
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کدنویسی تمیز در توسعه موبایل
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر کدنویسی تمیز
- 2. چرا کد تمیز در توسعه موبایل حیاتی است؟
- 3. هزینه کدهای کثیف و بدهی فنی (Technical Debt)
- 4. تعریف کد تمیز از دیدگاه بزرگان برنامهنویسی
- 5. اصول اولیه: خوانایی، سادگی و صراحت
- 6. قانون پسر پیشاهنگ: همیشه کد را بهتر از قبل تحویل دهید
- 7. ارتباط بین کد تمیز و چابکی (Agile)
- 8. ذهنیت یک توسعهدهنده تمیزنویس
- 9. اهمیت نامهای گویا و با معنی
- 10. نامگذاری متغیرها: انتخاب نامهای واضح
- 11. نامگذاری توابع و متدها: بیانگر عملکرد
- 12. نامگذاری کلاسها و واسطها (Interfaces)
- 13. اجتناب از اطلاعات غلط و نامهای مبهم
- 14. استفاده از نامهای قابل جستجو
- 15. پرهیز از پیشوندها و نشانهگذاریهای غیرضروری
- 16. نامگذاری در سطح ماژولها و پکیجها
- 17. استانداردهای نامگذاری خاص پلتفرم (Android/iOS)
- 18. ثبات در نامگذاری در سراسر پروژه
- 19. قانون اول توابع: کوچک بودن
- 20. قانون دوم توابع: انجام تنها یک کار (Single Responsibility)
- 21. سطوح انتزاع در یک تابع
- 22. آرگومانهای توابع: هرچه کمتر، بهتر
- 23. آرگومانهای بولی (پرچمها) و مشکلات آنها
- 24. توابع و عوارض جانبی (Side Effects)
- 25. جداسازی دستور از پرس و جو (Command Query Separation)
- 26. استفاده از استثناءها به جای برگرداندن کدهای خطا
- 27. اصل DRY (Don't Repeat Yourself) در توابع
- 28. توابع خالص (Pure Functions) و مزایای آن در موبایل
- 29. کامنتها دروغ میگویند: چرا کد باید خود-مستند باشد
- 30. کامنتهای خوب: توضیحات قانونی و هشداری
- 31. کامنتهای بد: توضیحات اضافه و نویز
- 32. کامنتهای TODO و FIXME
- 33. مستندسازی APIها و توابع عمومی
- 34. کامنتهای از رده خارج و نحوه مدیریت آنها
- 35. اهمیت قالببندی کد برای خوانایی
- 36. قالببندی عمودی: فاصلهگذاری و تراکم
- 37. قالببندی افقی: طول خطوط و تورفتگی
- 38. پیروی از راهنمای استایل کد پلتفرم
- 39. استفاده از ابزارهای قالببندی خودکار (Linters/Formatters)
- 40. تفاوت بین اشیاء و ساختارهای داده
- 41. اصل پنهانسازی اطلاعات (Data Hiding/Encapsulation)
- 42. قانون دیمیتر (Law of Demeter)
- 43. اشیاء انتقال داده (DTOs)
- 44. کلاسهای ایمیوتبل (Immutable) و مزایای آن
- 45. کلاسهای خدا (God Objects) و چگونگی اجتناب از آنها
- 46. مدیریت خطا و استثناءها: مقدمه
- 47. استفاده از استثناءهای Checked در مقابل Unchecked
- 48. ارائه زمینه کافی در پیامهای خطا
- 49. کلاسهای استثناء سفارشی
- 50. اجتناب از برگرداندن Null
- 51. استفاده از الگوی Optional/Result
- 52. مدیریت خطا در لایه UI موبایل
- 53. سه قانون توسعه آزمونمحور (TDD)
- 54. ویژگیهای یک تست تمیز: F.I.R.S.T
- 55. هر تست یک مفهوم: اصل Single Assertion
- 56. ساختار تست: Arrange, Act, Assert
- 57. تست مرزی و شرایط خاص
- 58. استفاده صحیح از Mockها و Stubها
- 59. پوشش کد (Code Coverage) چیست و چه چیزی نیست
- 60. تستهای تمیز به اندازه کد اصلی اهمیت دارند
- 61. معماری تمیز (Clean Architecture) در موبایل: مقدمه
- 62. لایهبندی برنامه: Presentation, Domain, Data
- 63. الگوهای معماری UI: MVC و MVP
- 64. الگوهای معماری UI: MVVM و Data Binding
- 65. الگوهای معماری UI: MVI و State Management
- 66. مدیریت وابستگیها و تزریق وابستگی (Dependency Injection)
- 67. مدیریت چرخه حیات (Lifecycle) کامپوننتهای UI
- 68. کدنویسی تمیز برای Concurrency و Threading
- 69. استفاده از Coroutines/Rx به شیوهای تمیز
- 70. مدیریت حافظه و جلوگیری از نشت حافظه (Memory Leaks)
- 71. بهینهسازی عملکرد: رندرینگ UI و پردازش پسزمینه
- 72. مدیریت منابع: رشتهها، تصاویر و فایلها
- 73. کدنویسی تمیز برای کار با شبکه و API
- 74. مدلسازی تمیز دادههای JSON
- 75. کدنویسی تمیز برای پایگاه داده محلی (SQLite/Room/CoreData)
- 76. ناوبری (Navigation) تمیز بین صفحات
- 77. طراحی کلاسهای Adapter/ViewHolder تمیز
- 78. مدیریت تمیز State در UI
- 79. کدهای ماژولار و تفکیک ویژگیها (Feature-based)
- 80. کدنویسی تمیز برای کدهای چندپلتفرمی (KMM/Flutter/React Native)
- 81. اصول SOLID: اصل تک مسئولیتی (SRP)
- 82. اصول SOLID: اصل باز-بسته (OCP)
- 83. اصول SOLID: اصل جایگزینی لیسکوف (LSP)
- 84. اصول SOLID: اصل تفکیک واسطها (ISP)
- 85. اصول SOLID: اصل وارونگی وابستگی (DIP)
- 86. بوی کد (Code Smells) چیست؟
- 87. شناسایی و رفع بوی کدهای رایج
- 88. بازآفرینی کد (Refactoring) چیست و چرا اهمیت دارد؟
- 89. تکنیکهای بازآفرینی کد: استخراج متد/کلاس
- 90. الگوهای طراحی (Design Patterns) و کد تمیز
- 91. سیستمها و یکپارچهسازی تمیز
- 92. مرزها (Boundaries) و ارتباط بین ماژولها
- 93. کد ریویو (Code Review): اصول و بهترین شیوهها
- 94. برنامهنویسی دونفره (Pair Programming) برای کد تمیزتر
- 95. ایجاد و پیروی از یک راهنمای استایل کد تیمی
- 96. یادگیری مداوم و بهبود مستمر
- 97. چک لیست نهایی کدنویسی تمیز در موبایل
- 98. جمعبندی دوره و گامهای بعدی
- 99. **الگوهای طراحی کد تمیز در موبایل: MVC, MVVM, Clean Architecture و معماریهای دیگر**
- 100. **ابزارها و تکنیکهای خودکارسازی کد تمیز: Linting, Formatting و Code Review**
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.