اپلیکیشن اندرویدی فلشکارت آموزشی 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. مسیر استادی: تمرین مداوم و بازخوردگیری
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.