کتاب صوتی Technical Debt Reduction Strategies
کاهش بدهی فنی با کدنویسی تمیز: دوره جامع Technical Debt Reduction Strategies کدنویسی تمیز: کلید رهایی از باتلاق بدهی فنی! آیا تا به حال در پروژههای نرمافزاری خود با چالشهای غیرمنتظرهای روبرو شدها...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Technical Debt Reduction Strategies
موضوع کلی: برنامه نویسی
موضوع میانی: کدنویسی تمیز (Clean Code)
📋 سرفصلهای دوره
- 1. مقدمهای بر بدهی فنی: تعریف و استعاره
- 2. چرا بدهی فنی ایجاد میشود؟ دلایل ریشهای
- 3. انواع بدهی فنی: عمدی، سهوی و تدریجی
- 4. هزینههای پنهان و آشکار بدهی فنی
- 5. ارتباط مستقیم بین کد تمیز و کاهش بدهی فنی
- 6. کد تمیز چیست؟ فراتر از کدِ کارا
- 7. ذهنیت یک توسعهدهنده حرفهای
- 8. قانون پسر پیشاهنگ (The Boy Scout Rule)
- 9. هزینه مالکیت کل (TCO) در نرمافزار
- 10. نقش اصول و الگوها در پیشگیری از بدهی فنی
- 11. اهمیت نامگذاری: انتخاب نامهای معنادار
- 12. اجتناب از اطلاعات غلط در نامگذاری (Disinformation)
- 13. استفاده از نامهای قابل تلفظ و قابل جستجو
- 14. قواعد نامگذاری برای کلاسها، متدها و متغیرها
- 15. پرهیز از نگاشت ذهنی (Mental Mapping)
- 16. توابع باید کوچک باشند
- 17. قانون تک مسئولیتی برای توابع (Do One Thing)
- 18. سطوح انتزاع در یک تابع (Stepdown Rule)
- 19. تعداد آرگومانهای تابع: از صفر تا دو
- 20. آرگومانهای پرچمی (Flag Arguments) و چرا باید از آنها اجتناب کرد
- 21. جداسازی دستور از پرس و جو (Command Query Separation)
- 22. پرهیز از اثرات جانبی (Side Effects)
- 23. اصل تکرار نکردن خود (Don't Repeat Yourself - DRY)
- 24. مدیریت خطا: استفاده از Exceptions به جای Error Codes
- 25. نوشتن بلوکهای Try-Catch-Finally
- 26. ارائه زمینه (Context) کافی در Exceptionها
- 27. اجتناب از برگرداندن و ارسال Null
- 28. کامنتها: شکست در بیان مقصود با کد
- 29. کامنتهای خوب: توضیحات قانونی و اطلاعرسانی
- 30. کامنتهای بد: توضیحات اضافی، گمراهکننده و تاریخ گذشته
- 31. خطر کدهای کامنتشده (Commented-out Code)
- 32. قالببندی کد: اهمیت خوانایی
- 33. قالببندی عمودی: فشردگی و فاصله
- 34. قالببندی افقی: طول خطوط و همترازی
- 35. قوانین تورفتگی (Indentation)
- 36. اشیاء و ساختارهای داده: تقارن معکوس
- 37. قانون دیمیتر (The Law of Demeter)
- 38. اصل تک مسئولیتی (Single Responsibility Principle - SRP)
- 39. اصل باز-بسته (Open/Closed Principle - OCP)
- 40. اصل جایگزینی لیسکوف (Liskov Substitution Principle - LSP)
- 41. اصل تفکیک اینترفیس (Interface Segregation Principle - ISP)
- 42. اصل وارونگی وابستگی (Dependency Inversion Principle - DIP)
- 43. مفهوم انسجام (Cohesion)
- 44. مفهوم وابستگی (Coupling)
- 45. هدفگذاری برای انسجام بالا و وابستگی کم
- 46. اصل سادگی (KISS: Keep It Simple, Stupid)
- 47. اصل عدم نیاز آینده (YAGNI: You Ain't Gonna Need It)
- 48. مقدمهای بر ریفکتورینگ: تعریف و ضرورت
- 49. چه زمانی باید ریفکتورینگ انجام داد؟
- 50. ریفکتورینگ ایمن با استفاده از تستها
- 51. دو کلاه توسعهدهنده: افزودن ویژگی در مقابل ریفکتورینگ
- 52. شناسایی بوهای کد (Code Smells)
- 53. بوی کد: متد طولانی (Long Method)
- 54. بوی کد: کلاس بزرگ (Large Class)
- 55. بوی کد: کد تکراری (Duplicate Code)
- 56. بوی کد: حسادت به ویژگی (Feature Envy)
- 57. بوی کد: دستههای داده (Data Clumps)
- 58. بوی کد: وسواس انواع داده اولیه (Primitive Obsession)
- 59. بوی کد: دستورات Switch
- 60. بوی کد: وراثت نامناسب (Refused Bequest)
- 61. بوی کد: کامنتها
- 62. تکنیک ریفکتورینگ: استخراج متد (Extract Method)
- 63. تکنیک ریفکتورینگ: تغییر نام (Rename)
- 64. تکنیک ریفکتورینگ: استخراج کلاس (Extract Class)
- 65. تکنیک ریفکتورینگ: جایگزینی عدد جادویی با ثابت نامدار
- 66. تکنیک ریفکتورینگ: تجزیه شرط (Decompose Conditional)
- 67. تکنیک ریفکتورینگ: معرفی شیء پارامتر (Introduce Parameter Object)
- 68. تکنیک ریفکتورینگ: بالا بردن متد (Pull Up Method)
- 69. تکنیک ریفکتورینگ: پایین آوردن متد (Push Down Method)
- 70. نقش تستها در جلوگیری از ایجاد بدهی فنی جدید
- 71. هرم تست: تستهای واحد، یکپارچهسازی و انتها به انتها
- 72. توسعه آزمونمحور (TDD) به عنوان یک استراتژی پیشگیرانه
- 73. چرخه قرمز-سبز-ریفکتور در TDD
- 74. اصول F.I.R.S.T برای تستهای تمیز
- 75. نوشتن کدهای قابل تست (Testable Code)
- 76. استفاده از Mock و Stub برای جداسازی وابستگیها
- 77. تستهای مشخصهنما (Characterization Tests) برای کدهای موروثی
- 78. پوشش کد (Code Coverage): معیارها و دامها
- 79. اهمیت بازبینی کد (Code Review) در فرهنگ تیم
- 80. ارائه و دریافت بازخورد سازنده در بازبینی کد
- 81. برنامهنویسی دونفره (Pair Programming)
- 82. مالکیت جمعی کد (Collective Code Ownership)
- 83. اهمیت داشتن یک استاندارد کدنویسی (Coding Standard)
- 84. تعریف مشترک "انجام شده" (Definition of Done)
- 85. نقش یکپارچهسازی مداوم (Continuous Integration)
- 86. ارتباط بدهی فنی با ذینفعان غیرفنی
- 87. نقش مدیر فنی در مدیریت بدهی فنی
- 88. پرورش فرهنگ کیفیت در تیم
- 89. استراتژیهای شناسایی و ثبت بدهی فنی
- 90. ابزارهای تحلیل استاتیک کد
- 91. اندازهگیری بدهی فنی: معیارهای پیچیدگی سایکلوماتیک
- 92. ماتریس بدهی فنی: اولویتبندی بر اساس تأثیر و هزینه
- 93. استراتژیهای پرداخت بدهی فنی در پروژههای بزرگ
- 94. الگوی انجیر خفهکننده (Strangler Fig Pattern) برای سیستمهای موروثی
- 95. ریفکتورینگ معماری در مقابل ریفکتورینگ کد
- 96. تعادل بین توسعه ویژگیهای جدید و کاهش بدهی فنی
- 97. نقش طراحی دامنه محور (DDD) در پیشگیری از بدهی فنی
- 98. جمعبندی: بدهی فنی یک انتخاب است، نه یک تقدیر
- 99. مسیر بهبود مستمر و یادگیری مادامالعمر
- 100. **اندازهگیری و پایش بدهی فنی: ابزارها، تکنیکها و KPIها**
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Agile
Clean Architecture
clean code
Clean Code Practices
code quality
Programming
Refactoring
Software Development
Technical Debt
Technical Debt Management
بدهی فنی
برنامه نویسی
برنامه نویسی تمیز
بهترین شیوه های کدنویسی
توسعه نرمافزار
چابک
ریفکتورینگ
کد تمیز
کیفیت کد
مدیریت بدهی فنی
معماری تمیز
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.