- عنوان کتاب: Pragmatic Test-Driven Development in C# and .NET
- نویسنده: Adam Tibi
- حوزه: برنامهنویسی #C
- سال انتشار: 2022
- تعداد صفحه: 372
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 11.3 مگابایت
به عنوان مشاور، با تیم های زیادی در سازمان های مختلف کار کردم. من تیم هایی را دیده ام که TDD انجام می دهند و تیم هایی را دیده ام که تست واحد را بدون TDD انجام می دهند. همچنین تیمهایی را دیدهام که فکر میکردند در حال انجام تست واحد هستند، اما در حال انجام تست یکپارچهسازی هستند و تیمهایی را دیدهام که هیچکدام را انجام نمیدهند! به عنوان یک انسان معمولی، من بر اساس شواهد تجربی شروع به شکلدهی به این باور کردم که تیمهای TDD موفقترین هستند، اما این به این دلیل نیست که آنها از TDD استفاده میکنند! TDD ناشی از داشتن اشتیاق است.
TDD تست واحد به علاوه اشتیاق است. تست واحد در برخی از تیم ها تحمیل شده است، بنابراین، توسعه دهندگان باید آن را انجام دهند، اما TDD به ندرت تحمیل می شود و این به توسعه دهندگان بستگی دارد که آن را بر روی خود اجرا کنند. نیازی به گفتن نیست که توسعه دهندگان پرشور پروژه های با کیفیت تولید می کنند و پروژه های با کیفیت پتانسیل بیشتری برای موفقیت دارند.
TDD معمولا با برخی یا همه جنبه های معماری طراحی دامنه محور (DDD) ترکیب می شود. بنابراین، مطمئن شدم که هم TDD و هم DDD را به صورت ترکیبی پوشش دادهام تا بتوانم مثالهای واقعی ارائه دهم. من همچنین میخواستم بازار امروز را که بین دو دسته پایگاهداده تقسیم میشود منعکس کنم، DBهای رابطهای و سندی، بنابراین این آزادی را در نظر گرفتم که یک فصل مثال برای هر کدام اضافه کنم و تفاوتها را در پیادهسازیهای تست واحد با هدف عملی نگه داشتن کتاب نشان دهم.
فریب اندازه کتاب را نخورید، زیرا نمودارها و تکه کدها باعث افزایش حجم کتاب می شوند. سعی کردم از تئوری های قدیمی و غیرعملی دوری کنم تا کتاب را کوتاه کنم و به اصل مطلب بچسبم.
آزمون TDD و واحد در اکثر مشخصات شغلی مدرن، لازمه پروژه های آزمون مصاحبه و موضوع سوالات مصاحبه داغ است. اگر میخواهید درباره این موضوعات بیشتر بدانید و توسعهدهنده TDD شوید، به جای درستی آمدهاید.
بسیاری از کتاب های خوب دیگر در مورد TDD وجود دارد و هدف آنها توسعه دهندگان دات نت نیز هست، پس چرا این کتاب؟ در این کتاب، پیاده سازی های عملی واقعی را با رفتن به دنیای DDD، DB های رابطه ای و DB های سند نشان می دهم. من درخت تصمیم ذهنیتی را که تمرینکنندگان هنگام انجام TDD استفاده میکنند، نشان میدهم. من رابطه بین SOLID و TDD را نشان میدهم و مجموعهای از بهترین شیوههای به یاد ماندنی را معرفی میکنم که به عنوان دستورالعملهای FIRSTHAND TDD شناخته میشوند.
قصد من از نوشتن این کتاب این است که شما را به عنوان یک تمرینکننده TDD مطمئن یا حداقل یک تمرینکننده تست واحد داشته باشم، و امیدوارم توانسته باشم قصدم را برآورده کرده باشم.
As a consultant, I worked with many teams in multiple organizations. I’ve seen teams doing TDD and I’ve seen teams doing unit testing without TDD. I’ve also seen teams that thought they were doing unit testing but were doing integration testing and I’ve seen teams that are doing none! As an ordinary human being, I started forming a belief based on empirical evidence that TDD teams are the most successful, but this is not because they are using TDD! TDD results from having passion.
TDD is unit testing plus passion. Unit testing in some teams is imposed, therefore, the developers have to do it, but TDD is rarely imposed and it is up to the developers to enforce it on themselves. Needless to say, passionate developers produce quality projects and quality projects have more potential to succeed.
TDD is usually combined with some or all aspects of domain-driven design (DDD) architecture. So, I made sure I covered both TDD and DDD combined to be able to give realistic examples. I also wanted to reflect today’s market that is divided between two database categories, relational and document DBs, so I took the liberty to include an example chapter for each and show the differences in unit-testing implementations with the objective of keeping the book pragmatic.
Don’t be tricked by the book size, as the diagrams and the code snippets do inflate the book. I strived to stay away from old and impractical theories to shorten the book and stick to the point.
TDD and unit testing are in most modern job specifications, a requirement for interview test projects, and the subject of hot interview questions. If you wanted to know more about these topics and become a TDD developer, then you came to the right place.
There are many other good books on TDD and they are aimed at .NET developers as well, so why this book? In this book, I show real practical implementations by going to the DDD world, relational DBs, and document DBs. I demonstrate the decision tree of the mindset that practitioners use when doing TDD. I show the relationship between SOLID and TDD and I introduce a set of memorable best practices known as the FIRSTHAND guidelines of TDD.
My intention for writing this book is to have you as a confident TDD practitioner, or at least a unit-testing practitioner, and I hope I was able to deliver my intention.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
نظرات کاربران