دوره پیمایش در دنیای کدنویسی تمیز: از تئوری تا عمل همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره پیمایش در دنیای کدنویسی تمیز: از تئوری تا عمل
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (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)
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.