کتاب Writing Meaningful Names: کلید خوانایی کد با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
Writing Meaningful Names: کلید خوانایی کد - دوره آموزش کدنویسی تمیز 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. مسیر استادی: تمرین مداوم و بازخوردگیری
تگها:
clean code
Coding best practices
Effective Naming
Programming
Readable code
Software Development
Writing Meaningful Names
اصول کدنویسی
برنامه نویسی
بهترین روش های کدنویسی
توسعه نرم افزار
کدنویسی تمیز
کلید خوانایی کد
مهارت های برنامه نویسی
نامگذاری در کد
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.