اپلیکیشن اندرویدی فلشکارت آموزشی Advanced Clean Code: Tackling Complexity
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Advanced Clean Code: Tackling Complexity
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر پیچیدگی در کدنویسی
- 2. چرا کد تمیز مهم است؟
- 3. اصول SOLID در عمل
- 4. اصل تک مسئولیتی (SRP) و کاربردهای آن
- 5. اصل باز-بسته (OCP) در طراحی نرمافزار
- 6. اصل جایگزینی لیسکوف (LSP) و ملاحظات آن
- 7. اصل جداسازی رابط (ISP) و نحوه پیادهسازی
- 8. اصل وارونگی وابستگی (DIP) و الگوهای مرتبط
- 9. نامگذاری صحیح متغیرها، توابع و کلاسها
- 10. اصول نامگذاری خوانا و معنادار
- 11. اجتناب از نامهای مبهم و مخفف
- 12. اهمیت استفاده از نامهای توصیفی
- 13. مدیریت طول نامها
- 14. قوانین نامگذاری برای انواع مختلف شناسهها
- 15. نوشتن توابع کوچک و با تمرکز
- 16. مفهوم تابع خالص (Pure Function)
- 17. مدیریت ورودی و خروجی توابع
- 18. کاهش تعداد پارامترهای توابع
- 19. توابع با تأثیر جانبی (Side Effects) و مدیریت آنها
- 20. توابع پرکاربرد و الگوهای بازگشتی
- 21. کدنویسی تمیز در مدیریت خطا
- 22. استثناها (Exceptions) در مقابل کدهای بازگشتی خطا
- 23. استفاده صحیح از Exception Handling
- 24. مدیریت استثناهای سفارشی
- 25. کد تمیز در مدیریت دادهها و ساختارها
- 26. استفاده از ساختارهای داده مناسب
- 27. اصول Aggregation و Composition
- 28. اجتناب از دادههای جهانی (Global Data)
- 29. کلاسهای داده (Data Classes) در مقابل کلاسهای رفتاری
- 30. توابع کمکی (Helper Functions) و کاربرد آنها
- 31. اصول تمیز در نوشتن کلاسها
- 32. اندازه کلاسها و وظایف آنها
- 33. کلاسهای کوچک و متمرکز
- 34. کاهش تعداد وابستگیهای کلاس
- 35. مراقب کلاسهای Big Ball of Mud باشید
- 36. اصول تمیز در نوشتن ماژولها
- 37. ارتباطات بین ماژولها
- 38. کاهش وابستگیهای متقابل (Coupling)
- 39. افزایش انسجام (Cohesion)
- 40. طراحی سطوح انتزاع (Layers)
- 41. مدیریت کامنتها: دوست یا دشمن کد تمیز؟
- 42. چه زمانی کامنت بنویسیم؟
- 43. کامنتهای توضیحدهنده در مقابل کامنتهای توجیه کننده
- 44. حذف کامنتهای زائد و منسوخ
- 45. کامنتهای فنی (Technical Comments)
- 46. استفاده از کامنتها برای مستندسازی
- 47. فاکتورگیری (Refactoring) برای حذف نیاز به کامنت
- 48. کد تمیز در تستنویسی (Unit Testing)
- 49. اصول نوشتن تستهای تمیز
- 50. تستهای خوانا و قابل فهم
- 51. تستهای قابل اعتماد و پایدار
- 52. پوشش تست (Test Coverage) و اهمیت آن
- 53. تستهای رگرسیون (Regression Tests)
- 54. اصول تستهای ادغام (Integration Tests)
- 55. تستهای End-to-End
- 56. اصول تمیز در مدیریت وابستگیها
- 57. دیزاین پترنهای مرتبط با مدیریت وابستگی
- 58. استفاده از Dependency Injection
- 59. الگوهای Factory و Builder
- 60. استفاده از Interface ها برای کاهش وابستگی
- 61. تکنیکهای Mocking و Stubbing
- 62. کد تمیز در مدیریت تغییرات
- 63. استراتژیهای مواجهه با پیچیدگی متغیر
- 64. کد تمیز برای قابلیت نگهداری (Maintainability)
- 65. کد تمیز برای قابلیت توسعه (Extensibility)
- 66. کد تمیز در مواجهه با Legacy Code
- 67. تکنیکهای ورود به Legacy Code
- 68. اصول تمیز در بازسازی Legacy Code
- 69. تکنیکهای Shadowing و Characterization Tests
- 70. استفاده از ابزارهای تحلیل کد (Static Analysis Tools)
- 71. اهمیت Linters و Formatters
- 72. تنظیمات استاندارد برای تحلیل کد
- 73. گزارشدهی و رفع مشکلات یافت شده
- 74. کد تمیز در تیمهای توسعه
- 75. اصول کدنویسی مشترک
- 76. بررسی کد (Code Review) موثر
- 77. استانداردهای کدنویسی تیمی
- 78. ابزارهای همکاری در کدنویسی
- 79. فرهنگ کد تمیز در سازمان
- 80. کد تمیز در معماری نرمافزار
- 81. الگوهای معماری تمیز (Clean Architecture)
- 82. مفهوم Domain Driven Design (DDD)
- 83. اصول Domain Driven Design
- 84. محدودههای (Bounded Contexts)
- 85. اکتورها (Aggregates) و موجودیتها (Entities)
- 86. مقادیر نهفته (Value Objects)
- 87. مدیریت تراکنشها در سیستمهای پیچیده
- 88. استفاده از صفهای پیام (Message Queues)
- 89. استراتژیهای Asynchronous Communication
- 90. کد تمیز در مواجهه با Big Data
- 91. اصول طراحی برای مقیاسپذیری (Scalability)
- 92. کد تمیز در سیستمهای توزیع شده (Distributed Systems)
- 93. ملاحظات Concurrency و Parallelism
- 94. مدیریت خطا در سیستمهای توزیع شده
- 95. اصول Fault Tolerance
- 96. کد تمیز و امنیت
- 97. نکات امنیتی در کدنویسی تمیز
- 98. اجتناب از آسیبپذیریهای رایج
- 99. استفاده از تکنیکهای رمزنگاری
- 100. کد تمیز و عملکرد (Performance)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.