کتاب From Novice to Expert: A Journey in Clean Code با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

From Novice to Expert: A Journey in Clean Code - تبدیل به کدنویس حرفه‌ای با کد تمیز! From Novice to Expert: A Journey in Clean Code - سفر شما به دنیای کدنویسی حرفه‌ای! آیا می‌خواهید از یک برنامه نویس ...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره From Novice to Expert: A Journey in Clean Code

موضوع کلی: برنامه نویسی

موضوع میانی: کدنویسی تمیز (Clean Code)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر کد تمیز: تعریف و اهمیت
  • 2. هزینه کدهای کثیف: بدهی فنی چیست؟
  • 3. قانون پسر پیشاهنگ: همیشه کد را بهتر از آنچه تحویل گرفتی، رها کن
  • 4. دوگانگی نوشتن و خواندن کد: اولویت با خوانایی
  • 5. اصول و ارزش‌های یک برنامه‌نویس حرفه‌ای
  • 6. تفکر سیستمی در کدنویسی تمیز
  • 7. ابزارها و محیط توسعه برای کد تمیز
  • 8. آشنایی با اصول SOLID: مقدمه
  • 9. اصل مسئولیت واحد (SRP)
  • 10. اصل باز-بسته (OCP)
  • 11. قدرت نام‌های معنادار و گویا
  • 12. انتخاب نام‌های آشکارکننده نیت (Intention-Revealing Names)
  • 13. پرهیز از اطلاعات غلط و نام‌های مبهم
  • 14. ایجاد تمایزهای معنادار در نام‌گذاری
  • 15. استفاده از نام‌های قابل تلفظ و قابل جستجو
  • 16. پرهیز از رمزنگاری و نگاشت‌های ذهنی
  • 17. نام‌گذاری کلاس‌ها: اسم یا عبارت اسمی
  • 18. نام‌گذاری متدها: فعل یا عبارت فعلی
  • 19. انتخاب بهترین نام برای هر زمینه (Context)
  • 20. تمرین عملی: بازبینی و بهبود نام‌ها در یک پروژه
  • 21. توابع باید کوچک باشند: چقدر کوچک؟
  • 22. قانون اول توابع: انجام تنها یک کار (Do One Thing)
  • 23. یک سطح انتزاع در هر تابع
  • 24. خواندن کد از بالا به پایین: قاعده Stepdown
  • 25. استفاده از نام‌های توصیفی برای توابع
  • 26. آرگومان‌های تابع: تعداد ایده‌آل
  • 27. پرهیز از آرگومان‌های پرچمی (Flag Arguments)
  • 28. تفکیک دستور و پرس‌وجو (Command Query Separation)
  • 29. عوارض جانبی (Side Effects) را حذف کنید
  • 30. بهترین روش برای مدیریت خروجی تابع
  • 31. پرهیز از تکرار: اصل DRY (Don't Repeat Yourself)
  • 32. برنامه‌نویسی ساختاریافته در توابع
  • 33. چگونه یک تابع طولانی را بشکنیم؟
  • 34. توابع و مدیریت استثناها (Exceptions)
  • 35. تمرین عملی: بازآرایی (Refactoring) یک تابع پیچیده
  • 36. کامنت‌ها: دروغ‌های شیرین کدنویسی
  • 37. کد خود-مستند (Self-Documenting Code) چیست؟
  • 38. کامنت‌های خوب: کامنت‌های حقوقی و اطلاعاتی
  • 39. کامنت‌های خوب: توضیح نیت و شفاف‌سازی
  • 40. کامنت‌های خوب: هشدار درباره عواقب
  • 41. کامنت‌های بد: توضیحات اضافه و بیهوده
  • 42. کامنت‌های بد: کامنت‌های از رده خارج شده
  • 43. کامنت‌های بد: کد کامنت شده
  • 44. استفاده از سیستم‌های کنترل نسخه به جای کامنت‌های تاریخچه
  • 45. هنر نوشتن کد بدون نیاز به کامنت
  • 46. اهمیت قالب‌بندی کد: چرا باید اهمیت دهیم؟
  • 47. قالب‌بندی عمودی: فشردگی و فاصله
  • 48. فاصله عمودی بین مفاهیم
  • 49. ترتیب عمودی: از کلی به جزئی
  • 50. قالب‌بندی افقی: طول خط و ترازبندی
  • 51. تورفتگی (Indentation) و اهمیت آن
  • 52. قوانین تیم: ایجاد یک راهنمای استایل (Style Guide)
  • 53. استفاده از ابزارهای قالب‌بندی خودکار (Formatters)
  • 54. قالب‌بندی در زبان‌های مختلف: تفاوت‌ها و شباهت‌ها
  • 55. تمرین عملی: قالب‌بندی یک فایل کد نامرتب
  • 56. انتزاع داده (Data Abstraction)
  • 57. تفاوت بین اشیاء و ساختارهای داده
  • 58. قانون دیمیتر (Law of Demeter)
  • 59. اشیاء انتقال داده (Data Transfer Objects - DTOs)
  • 60. اشیاء فعال (Active Records) و خطرات آن
  • 61. کپسوله‌سازی (Encapsulation) و پنهان‌سازی اطلاعات
  • 62. طراحی کلاس‌های منسجم (Cohesive Classes)
  • 63. حفظ کوچکی کلاس‌ها
  • 64. سازماندهی برای تغییر: جداسازی مسئولیت‌ها
  • 65. اصل وارونگی وابستگی (DIP)
  • 66. استفاده از استثناها به جای کدهای خطا
  • 67. نوشتن بلوک‌های try-catch-finally گویا
  • 68. استفاده از استثناهای بررسی‌نشده (Unchecked Exceptions)
  • 69. ارائه زمینه کافی با استثناها
  • 70. تعریف کلاس‌های استثنا بر اساس نیاز فراخواننده
  • 71. پرهیز از برگرداندن Null
  • 72. پرهیز از ارسال Null به متدها
  • 73. الگوی شیء پوچ (Null Object Pattern)
  • 74. مدیریت خطا در مرزهای سیستم
  • 75. خطاها را یک بار و در جای مناسب مدیریت کنید
  • 76. استفاده از کدهای شخص ثالث (Third-Party Code)
  • 77. یادگیری و کاوش مرزها
  • 78. استفاده از الگوهای Adapter و Wrapper برای ایزوله‌سازی
  • 79. کد تمیز در مرزهای سیستم
  • 80. مدیریت APIهای ناپایدار و در حال تغییر
  • 81. سه قانون توسعه آزمون‌محور (TDD)
  • 82. تمیز نگه داشتن تست‌ها
  • 83. اهمیت خوانایی در کد تست
  • 84. اصول F.I.R.S.T برای تست‌های تمیز
  • 85. یک Assert برای هر تست
  • 86. یک مفهوم برای هر تست
  • 87. زبان خاص دامنه (DSL) برای تست‌نویسی
  • 88. مرز بین تست‌های واحد و یکپارچه‌سازی
  • 89. پوشش کد (Code Coverage) و معیارهای آن
  • 90. تست کد تمیز: یکپارچگی کد و تست
  • 91. آشنایی با بوهای کد (Code Smells)
  • 92. بوی کد: کلاس‌های بزرگ و متدهای طولانی
  • 93. بوی کد: وابستگی‌های نامناسب و حسادت به ویژگی (Feature Envy)
  • 94. بوی کد: پارامترهای زیاد و داده‌های ابتدایی وسواسی
  • 95. همزمانی (Concurrency): مفاهیم و چالش‌ها
  • 96. دفاع از همزمانی: جداسازی مسئولیت‌ها
  • 97. آشنایی با الگوهای بازآرایی (Refactoring Patterns)
  • 98. بازآرایی تدریجی و ایمن
  • 99. ظهور (Emergence): طراحی ساده از طریق قوانین تمیز
  • 100. جمع‌بندی نهایی: تبدیل شدن به یک صنعتگر نرم‌افزار
تگ‌ها: code quality Software Development کدنویسی تمیز، clean code، برنامه نویسی، آموزش برنامه نویسی، توسعه نرم افزار، نرم افزار نویسی، بهترین روش ها، best practices، اصول کدنویسی، clean code principles، یادگیری برنامه نویسی، programming مهارت های برنامه نویسی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.