اپلیکیشن اندرویدی فلشکارت آموزشی کدنویسی تمیز: یک سرمایهگذاری بلندمدت در پروژههای نرمافزاری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کدنویسی تمیز: یک سرمایهگذاری بلندمدت در پروژههای نرمافزاری
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مبانی کدنویسی تمیز: چرا اهمیت دارد؟
- 2. آشنایی با اصول SOLID و نقش آن در کدنویسی تمیز
- 3. اصل تک مسئولیتی (Single Responsibility Principle)
- 4. اصل باز/بسته (Open/Closed Principle)
- 5. اصل جایگزینی لیسکوف (Liskov Substitution Principle)
- 6. اصل جداسازی رابط (Interface Segregation Principle)
- 7. اصل وابستگی وارونه (Dependency Inversion Principle)
- 8. شناخت مفهوم DRY (Don't Repeat Yourself)
- 9. شناخت مفهوم KISS (Keep It Simple, Stupid)
- 10. اهمیت نامگذاری مناسب در کدنویسی
- 11. اصول نامگذاری متغیرها و توابع (نامگذاری با معنی)
- 12. اصول نامگذاری کلاسها و رابطها
- 13. انتخاب کلمات مناسب برای نامگذاری
- 14. تاثیر کامنتگذاری در کدنویسی تمیز
- 15. چگونه کامنتگذاری موثر انجام دهیم؟
- 16. چه زمانی کامنتگذاری لازم است؟
- 17. چه زمانی کامنتگذاری لازم نیست؟
- 18. شناخت مفهوم Refactoring و اهمیت آن
- 19. ابزارهای Refactoring در IDEها
- 20. چگونه Refactoring انجام دهیم؟ (گام به گام)
- 21. اصول و الگوهای طراحی (Design Patterns)
- 22. معرفی الگوهای طراحی GoF
- 23. الگوی Singleton
- 24. الگوی Factory
- 25. الگوی Observer
- 26. الگوی Strategy
- 27. الگوی Template Method
- 28. اصول مدیریت خطا در کدنویسی تمیز
- 29. چگونه خطاهای مناسب را مدیریت کنیم؟
- 30. استفاده از Exception Handling
- 31. چگونه از try-catch-finally استفاده کنیم؟
- 32. اعتبار سنجی ورودیها (Input Validation)
- 33. اهمیت تست نویسی در کدنویسی تمیز
- 34. مقدمهای بر تست واحد (Unit Testing)
- 35. چگونه تست واحد بنویسیم؟
- 36. مبانی تستنویسی با JUnit/pytest (بر اساس زبان مورد نظر)
- 37. اصول تستنویسی خوب (ATDD, TDD)
- 38. شناخت مفهوم Code Smell
- 39. معرفی انواع Code Smell ها
- 40. چگونه Code Smell ها را شناسایی کنیم؟
- 41. چگونه Code Smell ها را رفع کنیم؟
- 42. شناخت مفهوم Code Coverage
- 43. اهمیت Code Coverage در تستنویسی
- 44. ابزارهای محاسبه Code Coverage
- 45. چگونه Code Coverage را افزایش دهیم؟
- 46. اهمیت خوانایی کد (Readability)
- 47. چگونه کد خوانا بنویسیم؟ (فاصله گذاری، تورفتگی،...)
- 48. استفاده از سبک کدنویسی (Coding Style)
- 49. بررسی استانداردهای کدنویسی (PEP 8, ...)
- 50. ابزارهای قالببندی کد (Code Formatter)
- 51. چگونه از ابزارهای قالببندی استفاده کنیم؟
- 52. معرفی ابزارهای تحلیل کد (Static Analysis)
- 53. چگونه از ابزارهای تحلیل کد استفاده کنیم؟
- 54. رفع مشکلات شناسایی شده توسط ابزارهای تحلیل کد
- 55. اصول کار با شرطها و حلقهها
- 56. چگونه از شرطهای تو در تو اجتناب کنیم؟
- 57. چگونه از حلقههای پیچیده اجتناب کنیم؟
- 58. بهینه سازی عملکرد در کدنویسی تمیز
- 59. شناخت مفهوم Performance Profiling
- 60. ابزارهای Performance Profiling
- 61. چگونه عملکرد کد را بهبود بخشیم؟
- 62. کدنویسی تمیز در برنامهنویسی شیگرا (OOP)
- 63. کپسوله سازی (Encapsulation)
- 64. وراثت (Inheritance)
- 65. چندریختی (Polymorphism)
- 66. چگونه از inheritance به درستی استفاده کنیم؟
- 67. چگونه از polymorphism به درستی استفاده کنیم؟
- 68. SOLID در برنامهنویسی شیگرا
- 69. کدنویسی تمیز در برنامهنویسی تابعی (Functional Programming)
- 70. مبانی برنامهنویسی تابعی
- 71. توابع خالص (Pure Functions)
- 72. اهمیت Immutable Data
- 73. کدنویسی تمیز در برنامهنویسی همزمان (Concurrency)
- 74. مدیریت ریسورسها (Resource Management)
- 75. شناخت مفهوم Thread Safety
- 76. چگونه از Race Condition جلوگیری کنیم؟
- 77. اصول طراحی معماری نرمافزار (Software Architecture)
- 78. معماری Clean Architecture
- 79. معماری MVC
- 80. معماری MVVM
- 81. مدیریت وابستگیها (Dependencies)
- 82. استفاده از Dependency Injection
- 83. استفاده از Inversion of Control (IoC)
- 84. اصول کار با Git و Version Control
- 85. چگونه از Git برای همکاری در پروژهها استفاده کنیم؟
- 86. استراتژیهای Branching
- 87. Code Review و اهمیت آن
- 88. چگونه یک Code Review موثر انجام دهیم؟
- 89. چگونه Code Review را دریافت کنیم؟
- 90. مستندسازی (Documentation) در کدنویسی تمیز
- 91. چگونه مستندات مناسب تولید کنیم؟
- 92. ابزارهای مستندسازی (Javadoc, ...)
- 93. بهبود مهارتهای حل مسئله (Problem Solving)
- 94. چگونه مسائل را به درستی درک کنیم؟
- 95. چگونه مسائل را به زیرمسئلهها تقسیم کنیم؟
- 96. مروری بر الگوهای طراحی پیشرفته
- 97. معرفی الگوی Decorator
- 98. معرفی الگوی Proxy
- 99. معرفی الگوی Adapter
- 100. تکنیکهای Refactoring پیشرفته
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.