اپلیکیشن اندرویدی فلشکارت آموزشی Clean Code for Mobile Application Development
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Clean Code for Mobile Application Development
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. کد تمیز چیست؟
- 2. اهمیت کد تمیز در توسعه موبایل
- 3. هزینه کدهای کثیف (Technical Debt)
- 4. ذهنیت یک توسعهدهنده تمیزنویس
- 5. قانون پسر پیشاهنگ (The Boy Scout Rule)
- 6. ارتباط کد تمیز و چابکسازی (Agile)
- 7. نامهای آشکارکننده نیت (Intention-Revealing Names)
- 8. پرهیز از اطلاعات غلط در نامگذاری
- 9. ایجاد تمایزهای معنادار در نامها
- 10. استفاده از نامهای قابل تلفظ
- 11. استفاده از نامهای قابل جستجو
- 12. پرهیز از انکدینگ در نامها (Encoding)
- 13. نامگذاری کلاسها و اینترفیسها
- 14. نامگذاری متدها و توابع
- 15. نامگذاری متغیرها و ثابتها
- 16. انتخاب نام برای کامپوننتهای رابط کاربری (UI Components)
- 17. کوچک نگه داشتن توابع
- 18. قانون "یک کار انجام بده" (Do One Thing)
- 19. یک سطح از انتزاع در هر تابع
- 20. ساختار پایینرونده توابع (Stepdown Rule)
- 21. نامهای توصیفی برای توابع
- 22. به حداقل رساندن تعداد آرگومانهای توابع
- 23. آرگومانهای پرچمی (Flag Arguments) یک بوی بد کد هستند
- 24. توابع بدون عوارض جانبی (No Side Effects)
- 25. جداسازی دستور از پرسوجو (Command Query Separation)
- 26. اصل تکرار نکردن کد (DRY - Don't Repeat Yourself)
- 27. کامنتها جایگزین کد بد نیستند
- 28. کد شما باید خود معرف باشد
- 29. کامنتهای خوب: کامنتهای حقوقی و اطلاعرسان
- 30. کامنتهای خوب: توضیح نیت و شفافسازی
- 31. کامنتهای خوب: کامنتهای TODO
- 32. کامنتهای بد: کامنتهای اضافی و نامفهوم
- 33. کدهای کامنت شده: چرا باید حذف شوند؟
- 34. هدف از قالببندی کد
- 35. قالببندی عمودی: جداسازی مفاهیم
- 36. تراکم عمودی و فاصله بین کدهای مرتبط
- 37. قالببندی افقی: طول خطوط و ترازبندی
- 38. تورفتگی کد (Indentation)
- 39. قوانین تیمی و فرمتدهندههای خودکار کد
- 40. پنهانسازی دادهها (Data Abstraction)
- 41. عدم تقارن داده و شیء (Data/Object Anti-Symmetry)
- 42. قانون دیمیتر (The Law of Demeter)
- 43. اشیاء انتقال داده (DTOs)
- 44. تغییرناپذیری (Immutability)
- 45. انسجام بالا (High Cohesion)
- 46. وابستگی کم (Low Coupling)
- 47. استفاده از استثناء به جای کدهای بازگشتی
- 48. اول نوشتن بلوک try-catch-finally
- 49. استفاده از استثناءهای کنترلنشده (Unchecked Exceptions)
- 50. ارائه زمینه به همراه استثناءها
- 51. پیچیدن (Wrapping) کتابخانههای خارجی و APIها
- 52. مقدار null برنگردانید
- 53. مقدار null پاس ندهید
- 54. مدیریت خطا در عملیات ناهمزمان (Asynchronous)
- 55. معماری تمیز برای اپلیکیشنهای موبایل
- 56. جداسازی دغدغهها: MVC, MVP, MVVM, MVI
- 57. اصل مسئولیت واحد (SRP)
- 58. اعمال SRP در کامپوننتهای موبایل (Activities, Fragments, ViewControllers)
- 59. اصل باز/بسته (OCP)
- 60. اصل جایگزینی لیسکوف (LSP)
- 61. اصل تفکیک اینترفیس (ISP)
- 62. اصل وارونگی وابستگی (DIP)
- 63. تزریق وابستگی (Dependency Injection) در موبایل
- 64. ترکیب به جای وراثت (Composition over Inheritance)
- 65. مقدمهای بر الگوهای طراحی (Design Patterns)
- 66. الگوی استراتژی (Strategy Pattern)
- 67. الگوی ناظر (Observer Pattern) برای بهروزرسانی UI
- 68. الگوی کارخانه (Factory Pattern)
- 69. الگوی سینگلتون (Singleton Pattern): استفاده و سوءاستفاده
- 70. الگوی نما (Facade Pattern)
- 71. الگوی مخزن (Repository Pattern) برای دسترسی به داده
- 72. الگوی Builder برای ساخت اشیاء پیچیده
- 73. مدیریت چرخه حیات اپلیکیشن (Application Lifecycle)
- 74. مدیریت تمیز تغییرات پیکربندی (Configuration Changes)
- 75. ناوبری تمیز بین صفحات (Clean Navigation)
- 76. مدیریت تمیز دسترسیها (Permissions)
- 77. نوشتن کد تمیز برای رابط کاربری
- 78. کدنویسی UI اعلانی (Declarative) در برابر دستوری (Imperative)
- 79. سازماندهی داده برای وضعیت رابط کاربری (UI State Management)
- 80. پردازش پسزمینه تمیز (Clean Background Processing)
- 81. انتزاع لایه شبکه (Network Layer Abstraction)
- 82. استراتژیهای کش کردن داده (Caching Strategies)
- 83. کد تمیز برای مدیریت منابع (فایلها، دیتابیس، ...)
- 84. مدیریت قابلیتهای آفلاین (Offline-First)
- 85. ملاحظات عملکردی و کد تمیز (Performance)
- 86. امنیت و کد تمیز (Security)
- 87. کد تمیز در کار با کتابخانههای شخص ثالث
- 88. سه قانون توسعه آزمونمحور (TDD)
- 89. تمیز نگه داشتن تستها
- 90. اصل FIRST در تستنویسی
- 91. تستهای واحد (Unit Tests)
- 92. تستهای یکپارچهسازی (Integration Tests)
- 93. تستهای رابط کاربری (UI Tests)
- 94. بازآفرینی کد (Refactoring) چیست؟
- 95. معرفی بوهای بد کد (Code Smells)
- 96. بازآفرینی برای خوانایی بهتر
- 97. بازآفرینی برای بهبود معماری
- 98. ابزارهای تحلیل کد ایستا (Static Code Analysis)
- 99. بازبینی کد (Code Review) به عنوان ابزاری برای کد تمیز
- 100. جمعبندی اصول و شیوههای کدنویسی تمیز
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.