کتاب کدنویسی تمیز در پروژههای بزرگ و تیمی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی کدنویسی تمیز در پروژههای بزرگ و تیمی کدنویسی تمیز در پروژههای بزرگ و تیمی: از آشفتگی تا معماری پایدار معرفی دوره: چرا کد شما یک دارایی است، نه یک بدهی! آیا تا به حال با کدی مواجه شدهاید...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کدنویسی تمیز در پروژههای بزرگ و تیمی
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. معرفی دوره: چرا کد تمیز مهم است؟
- 2. تعریف کد تمیز و ویژگیهای آن
- 3. قانون "پیشاهنگ": بهتر کردن کد در هر تغییر
- 4. تأثیر کد کثیف بر هزینه و زمان پروژه
- 5. کد تمیز و نگهداریپذیری پروژه
- 6. کد تمیز و مقیاسپذیری (Scalability)
- 7. کد تمیز و همکاری تیمی
- 8. تفکر کدنویس تمیز: Mindset
- 9. پذیرش مسئولیت برای کیفیت کد
- 10. اصول DRY (Don't Repeat Yourself)
- 11. قدرت انتخاب نامهای خوب و بامعنا
- 12. نامگذاری متغیرها: قصد و مفهوم
- 13. نامگذاری توابع و متدها: چه کاری انجام میدهند؟
- 14. نامگذاری کلاسها و ماژولها: مسئولیتها
- 15. نامگذاری پکیجها و دایرکتوریها
- 16. اجتناب از ابهام و اختصارات نامفهوم
- 17. استفاده از نامهای قابل جستجو (Searchable Names)
- 18. انتخاب نام در بافت (Contextual Naming)
- 19. پرهیز از رمزگذاری اطلاعات در نامها
- 20. چگونگی نامگذاری بولینها (Booleans)
- 21. اصل تکمسئولیتی (Single Responsibility Principle) برای توابع
- 22. توابع کوچک و متمرکز: "انجام یک کار و انجام آن به خوبی"
- 23. تعداد آرگومانهای تابع: به حداقل رساندن
- 24. پرهیز از پرچمهای بولی (Boolean Flags) در پارامترها
- 25. توابع بدون اثر جانبی (Side-Effect Free Functions)
- 26. جداسازی دستورات از پرسشها (Command-Query Separation)
- 27. توابع بدون نیاز به توضیحات اضافی (Self-Documenting Functions)
- 28. توابع خالص (Pure Functions) و مزایای آنها
- 29. استفاده از توابع برای انتزاع و کاهش پیچیدگی
- 30. کنترل جریان در توابع: پرهیز از پیچیدگیهای غیرضروری
- 31. توابع با سطح انتزاع یکسان (One Level of Abstraction per Function)
- 32. انتخاب نامهای گویای توابع
- 33. پرهیز از توابع با چندین لایه تو در تو
- 34. بازگشت از توابع: وضوح و سازگاری
- 35. استفاده از Lambdas و Higher-Order Functions به شکل تمیز
- 36. اصل تکمسئولیتی (SRP) برای کلاسها
- 37. چسبندگی بالا (High Cohesion) در کلاسها
- 38. کاهش وابستگی (Low Coupling) بین کلاسها
- 39. کپسولهسازی (Encapsulation) و پنهانسازی جزئیات
- 40. اصل باز-بسته (Open/Closed Principle)
- 41. اصل جایگزینی لیسکوف (Liskov Substitution Principle)
- 42. اصل جداسازی رابطها (Interface Segregation Principle)
- 43. اصل وارونگی وابستگی (Dependency Inversion Principle)
- 44. کلاسها باید کوچک باشند: تمرکز بر یک مسئولیت
- 45. نگهداری دادهها و رفتارها کنار یکدیگر
- 46. تفاوت Data Structures و Objects: نحوه استفاده تمیز
- 47. ارزش اشیاء (Value Objects) و Entities
- 48. پرهیز از Anemic Domain Model
- 49. ساختارهای دادهای مناسب برای خوانایی کد
- 50. استفاده از DTO ها (Data Transfer Objects) به شکل تمیز
- 51. کد به جای کامنت: هدف نهایی
- 52. کامنتهای خوب: توضیح "چرا" به جای "چه"
- 53. پرهیز از کامنتهای اضافی و منسوخ
- 54. استفاده از TODO, FIXME و کامنتهای هشدار دهنده
- 55. کامنتهای مستندسازی عمومی (Docstrings/Javadoc)
- 56. فرمتبندی کد: اهمیت و تأثیر بر خوانایی
- 57. قراردادهای فرمتبندی تیمی
- 58. استفاده از Whitespace برای بهبود خوانایی
- 59. محدودیت طول خط کد
- 60. ساختاردهی کد با بلاکهای منطقی
- 61. استفاده از Exception ها به جای کد خطای بازگشتی
- 62. پرتاب Exception ها در سطح مناسب انتزاع
- 63. پرهیز از بلعیدن (Swallowing) Exception ها
- 64. نوشتن پیامهای خطای معنادار
- 65. اصل Fail-Fast: زود شکست بخورید
- 66. مدیریت خطاهای دامنه (Domain Errors)
- 67. دفاع از مرزها: اعتبار سنجی ورودیها
- 68. اهمیت تستها در حفظ پاکیزگی کد
- 69. کد قابل تست (Testable Code) چه ویژگیهایی دارد؟
- 70. نوشتن تستهای واحد تمیز (Clean Unit Tests)
- 71. اصول FIRST برای تستهای واحد (Fast, Independent, Repeatable, Self-Validating, Timely)
- 72. تستهای یکپارچهسازی (Integration Tests) و تمیزی
- 73. Test-Driven Development (TDD) به عنوان ابزاری برای کد تمیز
- 74. پوشش تست (Test Coverage) و کیفیت کد
- 75. تعریف Refactoring و زمان انجام آن
- 76. Refactoring در مقابل بازنویسی (Rewriting)
- 77. تشخیص "بوی بد کد" (Code Smells)
- 78. تکنیکهای Refactoring رایج
- 79. استفاده از ابزارهای Refactoring خودکار
- 80. Refactoring به عنوان بخشی از توسعه روزانه
- 81. استانداردهای کدنویسی تیمی و Style Guide
- 82. ابزارهای Formatters و Linters خودکار (ESLint, Prettier, Black)
- 83. بازبینی کد (Code Review) مؤثر برای تمیزی کد
- 84. Pair Programming به عنوان ابزاری برای بهبود کیفیت کد
- 85. مهاجرت به کد تمیز در پروژههای بزرگ
- 86. استراتژیهای برخورد با کد قدیمی و میراثی (Legacy Code)
- 87. مفهوم Debt Code (بدهی فنی) و مدیریت آن
- 88. Onboarding توسعهدهندگان جدید با کد تمیز
- 89. ارتباط و مستندسازی در تیمهای بزرگ
- 90. معماری سیستم و تأثیر آن بر تمیزی کد
- 91. جداسازی نگرانیها (Separation of Concerns) در مقیاس بزرگ
- 92. طراحی ماژولار و سرویسهای کوچک
- 93. زبان مشترک (Ubiquitous Language) در Domain-Driven Design
- 94. Contextهای محدود (Bounded Contexts) و مرزهای تمیز
- 95. پیادهسازی الگوهای طراحی (Design Patterns) به شکل تمیز
- 96. مدیریت وابستگیها (Dependency Management) در پروژههای بزرگ
- 97. اتوماسیون CI/CD و کنترل کیفیت کد
- 98. تعادل بین کارایی (Performance) و تمیزی کد
- 99. فرهنگ کیفیت کد در سازمان
- 100. جمعبندی: سفر مستمر به سوی کد تمیز
تگها:
clean code
Clean Coding
Large Projects
Refactoring
Team Coding
اصول کدنویسی
بازسازی کد
برنامه نویسی
بهترین شیوه های برنامه نویسی
پروژه های بزرگ
خوانایی کد
قابلیت نگهداری کد
کدنویسی تمیز
کدنویسی تیمی
مهندسی نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.