اپلیکیشن اندرویدی فلشکارت آموزشی پیمایش در دنیای کدنویسی تمیز: از تئوری تا عمل
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره پیمایش در دنیای کدنویسی تمیز: از تئوری تا عمل
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمه: چرا کد تمیز مهم است؟
- 2. بوی بد کد (Code Smell) چیست؟ آشنایی با نشانههای کد کثیف
- 3. هزینههای پنهان و آشکار کد کثیف در یک پروژه
- 4. اخلاق حرفهای و مسئولیتپذیری در کدنویسی
- 5. معرفی کتاب کد تمیز (Clean Code) اثر رابرت سی. مارتین
- 6. اصول بنیادین کدنویسی تمیز
- 7. ارتباط کد تمیز و توسعه چابک (Agile)
- 8. قانون پسر پیشاهنگ: کد را بهتر از آنچه تحویل گرفتی، ترک کن
- 9. ابزارهای کمکی برای کدنویسی تمیز (Linters, Formatters)
- 10. نقشه راه دوره: از تئوری تا عمل
- 11. بخش نامگذاری: اهمیت نامهای گویا و با معنی
- 12. قواعد نامگذاری متغیرها: شفافیت و قصد
- 13. قواعد نامگذاری توابع و متدها: استفاده از فعل
- 14. قواعد نامگذاری کلاسها و اینترفیسها: استفاده از اسم
- 15. پرهیز از نامهای مبهم و اطلاعات غلط (Disinformation)
- 16. ایجاد تمایز معنادار در نامها
- 17. اهمیت ثبات و یکپارچگی در نامگذاری
- 18. استفاده از زمینه (Context) برای کوتاهسازی و بهبود نامها
- 19. طول مناسب برای نامها: نه خیلی کوتاه، نه خیلی بلند
- 20. استفاده از واژگان دامنه مسئله (Domain-Specific Language)
- 21. بخش توابع: قانون اول: کوچک بودن
- 22. قانون دوم: انجام تنها یک کار (اصل تک مسئولیتی - SRP)
- 23. کاهش سطوح تودرتویی (Nesting) در توابع
- 24. تعداد ایدهآل آرگومانها برای یک تابع (صفر، یک، دو)
- 25. چرا باید از توابع با آرگومانهای زیاد پرهیز کرد؟
- 26. آرگومانهای پرچمی (Flag Arguments) و دلایل اجتناب از آنها
- 27. توابع بدون عوارض جانبی (No Side Effects)
- 28. جداسازی دستور و پرسوجو (Command-Query Separation - CQS)
- 29. استفاده از استثناها (Exceptions) به جای برگرداندن کدهای خطا
- 30. اصل خودت را تکرار نکن (Don't Repeat Yourself - DRY)
- 31. یک سطح انتزاع (Abstraction) در هر تابع
- 32. طراحی امضای تابع (Function Signature) خوانا
- 33. تکنیکهای شکستن توابع طولانی و پیچیده
- 34. استخراج متد (Extract Method) به عنوان یک ابزار ریفکتورینگ
- 35. کارگاه عملی: بازنویسی یک تابع پیچیده
- 36. بخش کامنتها: کد باید خود معرف باشد
- 37. کامنتهای خوب: توضیح "چرا"، نه "چگونه"
- 38. کامنتهای قانونی و کپیرایت
- 39. استفاده صحیح از کامنتهای TODO
- 40. کامنتهای مستندساز (Javadocs, Docstrings) و کاربرد آنها
- 41. کامنتهای بد: توضیحات اضافه و زائد
- 42. کد کامنتشده: چرا باید آن را حذف کرد؟
- 43. پرهیز از کامنتهای تاریخچهای و لاگ تغییرات
- 44. استفاده از کامنت برای شفافسازی کدهای پیچیده (با احتیاط)
- 45. قانون طلایی کامنتنویسی: بهترین کامنت، کدی است که به آن نیاز ندارد
- 46. بخش قالببندی کد: اهمیت قالببندی در خوانایی
- 47. قالببندی عمودی: فاصلهگذاری بین مفاهیم
- 48. تراکم عمودی: نزدیکی کدهای مرتبط به یکدیگر
- 49. قالببندی افقی: فاصلهگذاری و همترازی
- 50. طول مناسب خطوط کد
- 51. قوانین تورفتگی (Indentation)
- 52. قالببندی متغیرهای محلی و پارامترها
- 53. اهمیت پیروی از قوانین قالببندی تیمی
- 54. استفاده از ابزارهای قالببندی خودکار
- 55. تمرین: قالببندی یک فایل کد نامرتب
- 56. بخش اشیاء و ساختارهای داده: انتزاع دادهها (Data Abstraction)
- 57. پنهانسازی جزئیات پیادهسازی (Encapsulation)
- 58. تفاوت بین اشیاء (Objects) و ساختارهای داده (Data Structures)
- 59. قانون دیمیتر (Law of Demeter): کمتر با غریبهها صحبت کن
- 60. الگوی Data Transfer Object (DTO)
- 61. مخاطرات استفاده از الگوی Active Record
- 62. قدرت پلیمورفیسم در ایجاد کد تمیز
- 63. مزایای استفاده از اشیاء تغییرناپذیر (Immutable Objects)
- 64. حفظ انسجام (Cohesion) بالا در کلاسها
- 65. کلاسهای کوچک با مسئولیت مشخص
- 66. بخش مدیریت خطا: استفاده از استثناها به جای برگرداندن کدهای خطا
- 67. تفاوت استثناهای Checked و Unchecked
- 68. ارائه زمینه (Context) کافی در استثناها
- 69. کپسولهسازی (Wrapping) استثناهای کتابخانههای خارجی
- 70. نوشتن بلوکهای try-catch-finally تمیز
- 71. از برگرداندن null خودداری کنید
- 72. از ارسال null به عنوان آرگومان بپرهیزید
- 73. الگوی شیء پوچ (Null Object Pattern)
- 74. تعریف مرزهای خطا در برنامه (Error Boundaries)
- 75. رویکرد یکپارچه به مدیریت خطا
- 76. بخش اصول طراحی (SOLID): مقدمهای بر اصول طراحی شیءگرا
- 77. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
- 78. اصل باز-بسته (Open/Closed Principle - OCP)
- 79. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 80. اصل تفکیک اینترفیس (Interface Segregation Principle - ISP)
- 81. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
- 82. مفهوم وابستگی (Coupling) و انسجام (Cohesion)
- 83. اصل سادگی (Keep It Simple, Stupid - KISS)
- 84. اصل به آن نیاز نخواهی داشت (You Ain't Gonna Need It - YAGNI)
- 85. چگونه این اصول به کد تمیز کمک میکنند
- 86. بخش تستنویسی: سه قانون توسعه مبتنی بر آزمون (TDD)
- 87. اهمیت نوشتن تستهای تمیز
- 88. اصول F.I.R.S.T برای تستهای واحد
- 89. ساختار یک تست خوب: Arrange, Act, Assert
- 90. یک مفهوم در هر تست: خوانایی تستها
- 91. استفاده از زبان دامنه در نامگذاری تستها
- 92. تست کردن مرزها و موارد خاص (Boundary Conditions)
- 93. استفاده صحیح از Mock ها و Stub ها
- 94. پوشش کد (Code Coverage) چیست و چه چیزی را نمیگوید
- 95. تستها به عنوان مستندات زنده و قابل اجرا
- 96. بخشهای پیشرفته و جمعبندی: شناسایی و دستهبندی بوهای بد کد (Code Smells)
- 97. مقدمهای بر ریفکتورینگ (Refactoring) امن
- 98. کدنویسی تمیز در محیطهای همروند (Concurrency)
- 99. کدنویسی تمیز در تیم: استانداردها و بازبینی کد (Code Review)
- 100. جمعبندی نهایی: تبدیل شدن به یک صنعتگر نرمافزار (Software Craftsman)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.