کتاب رفاکتورینگ (Refactoring) برای رسیدن به کد تمیز

انتخاب پلن

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

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

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب رفاکتورینگ (Refactoring) برای رسیدن به کد تمیز

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

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

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه: چرا کد تمیز مهم است؟
  • 2. هزینه بدهی فنی (Technical Debt)
  • 3. تعریف کد تمیز: ویژگی‌ها و اصول
  • 4. رفاکتورینگ چیست؟ (و چه چیزی نیست؟)
  • 5. اولین قانون رفاکتورینگ: ابتدا تست بنویسید
  • 6. بوی کد (Code Smell) چیست؟
  • 7. شناسایی اولین بوهای کد در پروژه شما
  • 8. کاتالوگ بوهای کد: یک نمای کلی
  • 9. ابزارهای لازم برای رفاکتورینگ امن
  • 10. رابطه بین چابکی (Agility) و کد تمیز
  • 11. قدرت نام‌های با معنی (Meaningful Names)
  • 12. انتخاب نام‌های گویا برای متغیرها
  • 13. نام‌گذاری توابع: فعل یا عبارت فعلی؟
  • 14. نام‌گذاری کلاس‌ها: اسم یا عبارت اسمی؟
  • 15. از رمزگذاری و پیشوندهای مجارستانی بپرهیزید
  • 16. ثبات در نام‌گذاری: قانون یک کلمه برای یک مفهوم
  • 17. جایگزینی اعداد جادویی (Magic Numbers) با ثابت‌های نام‌دار
  • 18. توابع باید کوچک باشند
  • 19. قانون اول توابع: حتی کوچک‌تر!
  • 20. اصل تک مسئولیتی (Single Responsibility Principle) برای توابع
  • 21. استخراج متد (Extract Method): اولین و مهم‌ترین تکنیک رفاکتورینگ
  • 22. تعداد آرگومان‌های یک تابع
  • 23. آرگومان‌های پرچمی (Flag Arguments) و چگونگی حذف آن‌ها
  • 24. اشیاء به عنوان آرگومان: معرفی Parameter Object
  • 25. از عوارض جانبی (Side Effects) بپرهیزید
  • 26. جداسازی دستور از پرس و جو (Command-Query Separation)
  • 27. جایگزینی متغیر موقت با پرس و جو (Replace Temp with Query)
  • 28. معرفی متغیر گویا (Introduce Explaining Variable)
  • 29. تجزیه عبارت شرطی (Decompose Conditional)
  • 30. حذف عبارت‌های شرطی تودرتو با Guard Clauses
  • 31. جایگزینی شرطی با چندریختی (Replace Conditional with Polymorphism)
  • 32. استخراج کلاس (Extract Class) از توابع طولانی
  • 33. توابع به عنوان شهروندان درجه اول
  • 34. نام‌های خوب برای توابع: بیانگر قصد و نیت
  • 35. سطوح انتزاع (Levels of Abstraction) در یک تابع
  • 36. قانون پایین‌رفتن (The Step-down Rule): خواندن کد مانند یک روایت
  • 37. حذف کدهای مرده (Dead Code) در توابع
  • 38. کامنت‌ها دروغ می‌گویند
  • 39. کد خود-مستند (Self-Documenting Code)
  • 40. کامنت‌های خوب: کامنت‌های قانونی و توضیحی
  • 41. کامنت‌های بد: نویز و اطلاعات اضافی
  • 42. حذف کدهای کامنت شده: به کنترل نسخه اعتماد کنید
  • 43. قالب‌بندی کد: اهمیت خوانایی
  • 44. قالب‌بندی عمودی: فاصله‌گذاری و تراکم
  • 45. قالب‌بندی افقی: طول خطوط و تورفتگی
  • 46. کپسوله‌سازی (Encapsulation) و پنهان‌سازی داده‌ها
  • 47. تفاوت بین اشیاء و ساختارهای داده‌ای
  • 48. قانون دیمیتر (Law of Demeter): کمتر صحبت کن
  • 49. قطارهای کد (Code Trains) و چگونگی جلوگیری از آن‌ها
  • 50. کلاس‌های کوچک با مسئولیت واحد
  • 51. رفاکتورینگ: انتقال متد (Move Method)
  • 52. رفاکتورینگ: انتقال فیلد (Move Field)
  • 53. رفاکتورینگ: استخراج کلاس (Extract Class)
  • 54. رفاکتورینگ: درون‌خطی کردن کلاس (Inline Class)
  • 55. رفاکتورینگ: پنهان کردن نماینده (Hide Delegate)
  • 56. رفاکتورینگ: معرفی متد خارجی (Introduce Foreign Method)
  • 57. رفاکتورینگ: معرفی افزونه محلی (Introduce Local Extension)
  • 58. کلاس‌های خدا (God Classes) و نحوه شکستن آن‌ها
  • 59. داده‌های چسبنده (Data Clumps) و استخراج آن‌ها به کلاس
  • 60. وراثت در مقابل ترکیب (Inheritance vs. Composition)
  • 61. اصل جایگزینی لیسکوف (Liskov Substitution Principle)
  • 62. کلاس‌های انتزاعی و اینترفیس‌ها
  • 63. اجتناب از کلاس‌های با داده‌های صرف (Data Classes)
  • 64. مدیریت خطا: بخشی از منطق برنامه
  • 65. استفاده از استثناها (Exceptions) به جای کدهای خطا
  • 66. استثناهای بررسی‌شده (Checked) در مقابل بررسی‌نشده (Unchecked)
  • 67. نوشتن بلوک‌های try-catch-finally تمیز
  • 68. از برگرداندن null بپرهیزید
  • 69. از ارسال null به متدها بپرهیزید
  • 70. مرزها: کار با کدهای شخص ثالث (Third-Party Code)
  • 71. سه قانون توسعه تست-محور (TDD)
  • 72. تست‌ها به عنوان شبکه ایمنی برای رفاکتورینگ
  • 73. ویژگی‌های یک تست تمیز: اصول FIRST
  • 74. یک Assert در هر تست
  • 75. پوشش کد (Code Coverage) چیست و چگونه به ما کمک می‌کند؟
  • 76. تست‌های واحد، تست‌های یکپارچه‌سازی و تست‌های سرتاسری
  • 77. شکستن وابستگی‌ها برای تست‌پذیری
  • 78. استفاده از Mock‌ها و Stub‌ها
  • 79. رفاکتورینگ کدهای غیرقابل تست
  • 80. حفظ تمیزی کد تست
  • 81. الگوی ساخت-عمل-ادعا (Arrange-Act-Assert)
  • 82. رفاکتورینگ کاتای بولینگ (Bowling Game Kata)
  • 83. رفاکتورینگ تدریجی: تکنیک شاخه با انتزاع (Branch by Abstraction)
  • 84. اصل خشک (Don't Repeat Yourself - DRY)
  • 85. اصل سادگی (Keep It Simple, Stupid - KISS)
  • 86. شما به آن نیاز نخواهید داشت (You Ain't Gonna Need It - YAGNI)
  • 87. اصول SOLID: مقدمه‌ای بر طراحی تمیز
  • 88. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
  • 89. اصل باز-بسته (Open-Closed Principle - OCP)
  • 90. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
  • 91. اصل تفکیک رابط (Interface Segregation Principle - ISP)
  • 92. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
  • 93. همزمانی (Concurrency): چالش‌ها و راهکارها
  • 94. دفاع از همزمانی: قفل کردن و جداسازی
  • 95. شناسایی بوهای کد در سطح معماری
  • 96. قانون پسر پیشاهنگ: همیشه کمپ را تمیزتر از آنچه تحویل گرفتی ترک کن
  • 97. نقش بازبینی کد (Code Review) در حفظ کد تمیز
  • 98. ادغام رفاکتورینگ در فرآیند توسعه روزمره
  • 99. مطالعه موردی: رفاکتورینگ یک پروژه واقعی از ابتدا تا انتها
  • 100. سفر به سوی استادی: یادگیری و بهبود مستمر

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

نظرات

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

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