دوره Writing Meaningful Names: کلید خوانایی کد همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Writing Meaningful Names: کلید خوانایی کد
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر اهمیت نامها در خوانایی کد
- 2. چرا کد بیشتر از آنکه نوشته شود، خوانده میشود؟
- 3. هزینه پنهان نامهای بد: بدهی فنی
- 4. نامهای نیتنما (Intention-Revealing Names)
- 5. ارتباط بین نامگذاری و بار شناختی (Cognitive Load)
- 6. نامها به عنوان اولین سطح مستندسازی کد
- 7. وضوح، اولین قانون نامگذاری
- 8. پرهیز از ابهام: انتخاب کلماتی با یک معنای مشخص
- 9. اصل کمترین شگفتی (Principle of Least Astonishment) در نامگذاری
- 10. دوره آموزشی: چه چیزهایی را پوشش خواهیم داد؟
- 11. مقدمهای بر نامگذاری متغیرها
- 12. انتخاب اسمهای اسمی (Nouns) برای متغیرها
- 13. پرهیز از نامهای تکحرفی (به جز موارد استثنا)
- 14. اهمیت واحدها در نام متغیرها (مثال: seconds, pixels)
- 15. نامگذاری متغیرهای بولین (Boolean)
- 16. قانون استفاده از is، has و can برای بولینها
- 17. نامگذاری مجموعهها و لیستها (استفاده از اسم جمع)
- 18. نامگذاری اشیاء و ساختارهای داده پیچیده
- 19. تفاوت نامگذاری در اسکوپهای مختلف (محلی، سراسری)
- 20. نامگذاری متغیرهای موقتی (Temporary Variables)
- 21. مفهوم اعداد جادویی (Magic Numbers) و پرهیز از آنها
- 22. جایگزینی اعداد جادویی با ثابتهای نامگذاری شده
- 23. مفهوم رشتههای جادویی (Magic Strings)
- 24. نامگذاری ثابتها (Constants) با حروف بزرگ
- 25. استفاده از پیشوندها و پسوندها: خوب یا بد؟
- 26. فعلها: سنگ بنای نامگذاری توابع و متدها
- 27. نامگذاری توابع پرسوجو (Query)
- 28. نامگذاری توابع دستوری (Command)
- 29. اصل جداسازی دستور و پرسوجو (CQS)
- 30. چگونه نام تابع باید عوارض جانبی (Side Effects) را آشکار کند
- 31. نامگذاری پارامترهای توابع
- 32. هماهنگی نام پارامترها با نوع آنها
- 33. نامگذاری توابع با مقادیر بازگشتی بولین
- 34. نامگذاری توابع کارخانهای (Factory Methods)
- 35. نامگذاری سازندهها (Constructors)
- 36. پرهیز از کلمات مبهم مانند Process، Handle یا Manage
- 37. ارتباط بین طول تابع و دشواری نامگذاری آن
- 38. استفاده از افعال متضاد برای عملیات معکوس (مثال: open/close)
- 39. نامگذاری توابع بینام (Anonymous Functions) و لامبداها
- 40. نامگذاری در مقابل توضیح (Comment): وقتی نام کافی نیست
- 41. کلاسها به عنوان اسم یا عبارت اسمی
- 42. اصل تک مسئولیتی (SRP) و تاثیر آن بر نامگذاری کلاس
- 43. پرهیز از نامهای کلیشهای: Manager، Processor، Data، Info
- 44. نامگذاری کلاسهای انتزاعی (Abstract Classes)
- 45. نامگذاری اینترفیسها (Interfaces)
- 46. استفاده از پسوندهای رایج: Controller, Service, Repository
- 47. نامگذاری بر اساس الگوهای طراحی (Design Patterns)
- 48. نامگذاری ماژولها و پکیجها
- 49. نامگذاری فضاهای نام (Namespaces)
- 50. هماهنگی نام کلاس با نام فایل آن
- 51. معرفی انواع قراردادهای نامگذاری (Case Types)
- 52. تفاوت CamelCase و PascalCase
- 53. کاربرد snake_case و kebab-case
- 54. چرا ثبات در نامگذاری از خود قرارداد مهمتر است؟
- 55. ایجاد راهنمای استایل (Style Guide) برای تیم
- 56. قراردادهای نامگذاری خاص زبانهای برنامهنویسی
- 57. نامگذاری متغیرهای خصوصی (Private) در مقابل عمومی (Public)
- 58. قراردادهای نامگذاری برای API Endpoints
- 59. نامگذاری در پایگاه داده: جداول و ستونها
- 60. حفظ ثبات در کل پروژه (Codebase)
- 61. ضدالگوی شماره یک: اطلاعات غلط (Disinformation)
- 62. پرهیز از کلمات زائد و نویز (Noise Words)
- 63. نامهای غیرقابل تلفظ و غیرقابل جستجو
- 64. انکودینگ نامها: نشانهگذاری مجارستانی (Hungarian Notation)
- 65. انکودینگ نوع متغیر در نام آن (مثال: strName)
- 66. پرهیز از نگاشت ذهنی (Mental Mapping)
- 67. نام کلاس یا متد نباید تکرار کننده زمینه باشد
- 68. شوخطبعی و استفاده از کلمات نامرتبط در نامگذاری
- 69. استفاده از اختصارات و مخففهای مبهم
- 70. تفاوت بین سادگی و سادهانگاری در نام
- 71. نامهایی که بیش از حد طولانی هستند
- 72. نامهایی که بیش از حد کوتاه هستند
- 73. تکرار بیهوده کلمات در سلسله مراتب نامگذاری
- 74. نامهای وابسته به پیادهسازی به جای مفهوم
- 75. وقتی نام با عملکرد کد همخوانی ندارد
- 76. پادشاهی زمینه (Context is King)
- 77. افزودن زمینه معنادار به نامها
- 78. چه زمانی باید زمینه را حذف کرد؟ (زمینه زائد)
- 79. زبان فراگیر (Ubiquitous Language) از Domain-Driven Design
- 80. نامگذاری در دامنه مسئله (Problem Domain)
- 81. نامگذاری در دامنه راهحل (Solution Domain)
- 82. روانشناسی خواندن و درک نامها
- 83. نامگذاری به عنوان یک فرآیند اکتشافی
- 84. تغییر نام به عنوان یک ابزار قدرتمند بازآفرینی (Refactoring)
- 85. تعادل بین وضوح و اختصار
- 86. تکنیکهای پیدا کردن نام بهتر در حین کدنویسی
- 87. نقش بازبینی کد (Code Review) در بهبود نامها
- 88. استفاده از ابزارهای تحلیل ایستا (Linters) برای نامگذاری
- 89. قدرت ابزارهای تغییر نام (Rename) در IDEها
- 90. برنامهنویسی دونفره (Pair Programming) برای طوفان فکری نامها
- 91. چگونه تیم خود را برای نامگذاری بهتر متقاعد کنیم
- 92. ایجاد یک واژهنامه (Glossary) برای پروژه
- 93. تمرین عملی: بازآفرینی نامها در یک قطعه کد واقعی
- 94. نامگذاری در تستنویسی: متدهای تست و متغیرها
- 95. نامگذاری کامیتها در گیت (Git Commits)
- 96. نامگذاری فایلها و پوشهها در ساختار پروژه
- 97. نامگذاری متغیرهای محیطی (Environment Variables) و فایلهای پیکربندی
- 98. نامگذاری در CSS: متدولوژی BEM و موارد مشابه
- 99. هنر نامگذاری: فراتر از قوانین
- 100. مسیر استادی: تمرین مداوم و بازخوردگیری
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.