Learning Test-Driven Development

تاریخ: 1400/08/11 23:43
توسط: MotoMan
امتیاز: ۲
تعداد بازدید: ۴۰۵۶
دیدگاه ها: ۰
برچسب ها: Test Driven Development |
کتاب Learning Test-Driven Development
O'Reilly Media
Saleem Siddiqui
9781098106478
2021
275
English

توسعه آزمون محور، تکنیکی برای طراحی و ساختار دهی کد است که سادگی را تشویق می‌کند و اعتماد شخص به کد‌ها را حتی با افزایش اندازه آن، بیشتر می‌کند. ما بسیار خوش شانس هستیم! ما سال‌ها توسعه آزمون محور داشته ایم. چندین دهه از زمانی که توسعه دهندگانی که کد برنامه فضایی مرکوری را نوشتند و Punch Card TDD (توسعه آزمون محور) را عملی کردند می‌گذرد. همچنین کتابخانه‌های XUnit که پذیرش توسعه آزمون محور را تسهیل می‌کنند به اوایل قرن برمی‌گردند. در واقع، Kent Beck، که کتاب توسعه آزمون محور: با مثال (Addison-Wesley Professional، 2002) را نوشت و چارچوب JUnit را توسعه داد، به خودش اشاره می‌کند که شیوه TDD را «کشف مجدد» کرده است (و نه اختراع). این گفته گواه فروتنی اوست، اما حقیقت نیز هست. قدمت TDD به اندازه خود توسعه نرم افزار است.

پس چرا توسعه آزمون محور هنوز با روش استاندارد نوشتن کد فاصله دارد؟ چرا زمانی که فشار زمان بندی وجود دارد، یا زمانی که بودجه‌های فناوری اطلاعات باید کاهش یابند، یا (مورد علاقه شخصی من) زمانی که تمایل به «افزایش سرعت تیم تحویل نرم‌افزار» وجود دارد، اغلب اولین شیوه ای است که قربانی می‌شود؟ همه این دلایل با وجود در دسترس بودن شواهد تجربی و آزمایشی که TDD تعداد نقص‌ها را کاهش می‌دهد، طراحی ساده‌تری ایجاد می‌کند و اعتماد توسعه‌دهندگان به کد خودشان را بهبود می‌بخشد، ارائه شده‌اند.

آیا توسعه آزمون محور تضمین می‌کند که تمام کدهایی که می‌نویسیم به طور خودکار و ناگزیر ساده‌ترین کدی هستند که کار می‌کنند؟ نه اینطور نیست. هیچ شیوه، قانون، کتاب یا بیانیه ای نمی‌تواند این کار را انجام دهد. این به افرادی بستگی دارد که این شیوه‌ها را عملی می‌کنند تا اطمینان حاصل کنند که سادگی به دست آمده است و حفظ می‌شود.

کد شما گواهی بر مهارت‌های شما به عنوان یک توسعه دهنده است. مهم نیست از چه زبانی استفاده می‌کنید، کد شما باید تمیز، ظریف و مرتب باشد؟ با توسعه آزمون محور (TDD)، کد بهتری را می‌نویسید که به راحتی قابل درک است، ظرافت خود را حفظ می‌کند و برای سال‌های سال کار می‌کند. کتاب Learning Test-Driven Development (یادگیری توسعه آزمون محور) به شما نشان می‌دهد که چگونه TDD در سه زبان مختلف کار می‌کند: Go، JavaScript و Python.


مطالبی که در کتاب Learning Test-Driven Development: A Polyglot Guide to Writing Uncluttered Code، یاد خواهید گرفت:

  • مهار کردن پیچیدگی دامنه با استفاده از رویکرد تقسیم و غلبه
  • درک نحوه عملکرد TDD در زبان ها، چارچوب‌های تست و مفاهیم دامنه
  • دیدن اینکه چگونه TDD، یکپارچه سازی مداوم و تحویل مداوم را امکان پذیر می‌کند
  • پشتیبانی از ریفکتور کردن و باز طراحی با TDD
  • راه اندازی یک محیط یکپارچه سازی مداوم با آزمون‌های واحد تولید شده در حین TDD
  • نوشتن کد‌های تمیز و مرتب با استفاده از TDD در Go، جاوا اسکریپت و پایتون

 

Table of Contents:
- Chapter 0: Introduction and Setup
-     Setting Up Your Development Environment
-     Where We Are
- I. Getting Started
- 1. The Money Problem
-     Red-Green-Refactor: The Building Blocks of TDD
-     What’s the Problem?
-     Our First Failing Test
-     Going for Green
-     Cleaning Up
-     Committing Our Changes
-     Where We Are
- 2. Multicurrency Money
-     Enter the Euro
-     Keeping Code DRY
-     Didn’t We Just Say “Don’t Repeat Yourself”?!
-     Divide and Conquer
-     Cleaning Up
-     Committing Our Changes
-     Where We Are
- 3. Portfolio
-     Designing Our Next Test
-     Committing Our Changes
-     Where We Are
- II. Modularization
- 4. Separation of Concerns
-     Test and Production Code
-     Modularization
-     Removing Redundancy
-     Where We Are
- 5. Packages and Modules in Go
-     Separating Our Code into Packages
-     Go Modules
-     Creating a Package
-     Encapsulation
-     Removing Redundancy in Tests
-     Committing Our Changes
-     Where We Are
- 6. Modules in JavaScript
-     Separating Our Code into Modules
-     A Segue into JavaScript Modules
-     Improving Our Tests
-     Committing Our Changes
-     Where We Are
- 7. Modules in Python
-     Separating Our Code into Modules
-     Removing Redundancy in Tests
-     Committing Our Changes
-     Where We Are
- III. Features and Redesign
- 8. Evaluating a Portfolio
-     Mixing Money
-     Committing Our Changes
-     Where We Are
- 9. Currencies, Currencies, Everywhere
-     Making a Hash(map) of Things
-     Committing Our Changes
-     Where We Are
- 10. Error Handling
-     Error Wish List
-     Committing Our Changes
-     Where We Are
- 11. Banking on Redesign
-     Dependency Injection
-     Putting It All Together
-     Committing Our Changes
-     Where We Are
- IV. Finishing Up
- 12. Test Order
-     Changing Exchange Rates
-     Committing Our Changes
-     Where We Are
- 13. Continuous Integration
-     Core Concepts
-     Putting It All Together
-     Committing Our Changes
-     Where We Are
- 14. Retrospective
-     Profile
-     Purpose
-     Process
-     Putting It All Together
-     Isn’t TDD Dead?
-     Where We Are
- A. Development Environment Setup
-     Online REPLs
-     Integrated Development Environments (IDEs)
-     Installing Language Tools
- B. A Brief History of the Three Languages
-     Go
-     JavaScript
-     Python
- C. Acknowledgments

 

کانال تلگرام سایت

گروه تلگرام سایت

like می پسندم
dislike به درد نمی خوره
مطالب مشابه
دیدگاه ها
  • اولین نفری باشید که نظری می دهید!
loading...

لطفا منتظر بمانید...