کتاب Test-Driven Development with C++ (توسعه تست محور با C++: راهنمای ساده برای نوشتن کد Agile بدون اشکال) در 15 فصل به آموزش گامبهگام برنامهنویسی سیپلاسپلاس جهت توسعه تست محور برنامهها خواهد پرداخت.
در ادامه مقدمهای از کتاب Test-Driven Development with C++ را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Test-Driven Development with C++:
سالها پیش، زمانی که میخواستم یک فناوری جدید یاد بگیرم یا مهارت جدیدی را توسعه دهم، شروع به اجتناب از کتابهای سبک کتاب آشپزی کردم. یک کتاب باید ما را برای درک ایدههای اساسی راهنمایی کند تا بتوانیم یادگیری خود را متناسب با نیازهایمان تطبیق دهیم. ما نباید گم شویم فقط به این دلیل که یک دستور غذا دقیقاً با آنچه میخواهیم انجام دهیم مطابقت ندارد.
من همچنین تمایل دارم از کتابهایی که مملو از تئوری هستند اجتناب کنم. احتمالاً منظورم را میدانید. این کتابها به جای توضیح نحوه استفاده از یک فناوری، ایدههایی را بدون کاوش در عملی کردن ایدهها ذکر میکنند. تمرکز بر یکی از این دو مماس میتواند تجربه یادگیری را ناقص بگذارد.
این کتاب متفاوت است. به جای ارائه چند مثال ساده مانند کتاب آشپزی یا تعاریف با قوانین و تعاریف، به شما نشان خواهم داد که چگونه از تستها برای نوشتن نرم افزارهایی استفاده کنید که کارهای زیر را انجام میدهد:
• آنچه کاربران انتظار دارند و با سهولت
• به شما اجازه میدهیم ویژگیهای جدیدی را بدون شکستن کاری که قبلا انجام داده اید اضافه کنید
• آنچه را که کد انجام میدهد به وضوح بیان میکند
ما از ابتدا شروع میکنیم و چندین پروژه میسازیم. با ساختن روشی آسان و طبیعی برای نوشتن تست در C++، تست چیست و چگونه میتواند کمک کند. این توسعه تست محور (TDD) نامیده میشود و شما از TDD برای توسعه ابزارهای مورد نیاز برای پروژههای خود استفاده خواهید کرد.
برای اینکه بیشترین سود را از TDD ببرید، به راهی برای نوشتن و اجرای تستها نیاز دارید. برخی از زبانهای برنامهنویسی در حال حاضر از TDD پشتیبانی میکنند در حالی که C++ برای پشتیبانی از تستها به ابزارها و کتابخانههای اضافی نیاز دارد. من میتوانستم به سادگی نحوه استفاده از ابزارهای مختلف TDD را که از قبل وجود دارد، توضیح دهم. این یک رویکرد کتاب آشپزی است زیرا هر راه حل موجود کمی متفاوت است. با شروع از ابتدا و ساختن آنچه که نیاز دارید، TDD را یاد خواهید گرفت و در عین حال یاد خواهید گرفت که همه راه حلهای دیگر چگونه کار میکنند. مفاهیم یکسان است.
به عنوان مثال، اکثر افرادی که نحوه رانندگی خودرو را یاد میگیرند، میتوانند با وانت یا ون رانندگی کنند. برخی تفاوتهای جزئی انتظار میرود اما مفاهیم یکسان هستند. راندن موتورسیکلت بیشتر یک چالش است اما بسیاری از مفاهیم مشابه هنوز معتبر هستند. رانندگی با اتوبوس ممکن است نیاز به آموزش اضافی داشته باشد اما مشابه است.
اگر تصمیم به استفاده از ابزارهای دیگر یا حتی زبانهای دیگر دارید، با دنبال کردن مراحل این کتاب، درک عمیقی از نحوه کار آن ابزارهای دیگر به دست خواهید آورد. ابزارهای دیگر مانند رانندگی با وانت خواهد بود.
کتاب Test-Driven Development with C++ به سه بخش تقسیم شده است. در قسمت اول یک کتابخانه آزمایشی میسازید که به شما امکان میدهد تستها را بنویسید و اجرا کنید. شما یاد خواهید گرفت که چگونه یک مرحله در یک زمان پیش بروید و اجازه دهید تستها شما را راهنمایی کنند.
بخش دوم از کتابخانه آزمایشی برای شروع یک پروژه جدید استفاده میکند تا به شما در ثبت پیامها در حین اجرای نرم افزار کمک کند. این یک کتابخانه ورود به سیستم است و این پروژه به شما نشان میدهد که چگونه نرم افزاری بسازید که نیازهای مشتری مورد نظر شما را برآورده کند. شما ویژگیهای زیادی را به کتابخانه گزارش اضافه میکنید و یاد میگیرید که چگونه همه چیز را در حین توسعه ویژگیهای بیشتر کار کنید.
مشتری مورد نظر برای کتابخانه ورود به سیستم یک توسعهدهنده خدمات میکرو C++ است و این تمرکز مشتری به بخش سوم گسترش مییابد، جایی که شما کتابخانه آزمایشی را گسترش میدهید و یک سرویس ساده ایجاد میکنید.
این سرویس برای توضیح یکی از سخت ترین جنبههای توسعه نرمافزار نحوه آزمایش چندین رشته استفاده خواهد شد.
هر سه بخش با هم ترکیب میشوند تا به شما نشان دهند که چگونه از TDD برای طراحی و نوشتن نرمافزاری مؤثر استفاده کنید که نیازهای مشتریان را برآورده کند، به شما اعتماد به نفس ایجاد تغییرات را بدهد و به سایر اعضای تیم اجازه دهد طراحی را درک کنند.
کتاب Test-Driven Development with C++ برای چه کسی است؟
این کتاب برای توسعه دهندگان ++C است که قبلاً با C++ برای کارهای روزانه آشنا هستند و از آن استفاده میکنند. نیازی نیست که متخصص باشید، اما باید از قبل با C++ مدرن و نحوه استفاده از الگوها آشنا باشید تا بیشترین بهره را از این کتاب ببرید.
اگر تا به حال برای اضافه کردن یک ویژگی جدید به یک پروژه بزرگ بدون شکستن نرم افزار در مکانهای دیگر تلاش کرده اید، این کتاب میتواند کمک کند. شما توسعهدهنده نرمافزار بهتری خواهید شد و از استرس و نگرانی ناشی از رفع اشکالها یا ایجاد تغییرات طراحی اجتناب میکنید. TDD فرآیندی است که شما را راهنمایی میکند تا طرحهای بصری ایجاد کنید که کاربران شما آن را درک کنند و از آن لذت ببرند.
اگر تا به حال در ایجاد یک بهبود تردید کرده اید و تصمیم گرفته اید یک طرح قدیمی و گیجکننده را حفظ کنید که هیچ کس نمیخواهد آن را لمس کند زیرا ممکن است خراب شود، این کتاب میتواند کمک کند. شاید ایده خوبی داشته باشید، اما میدانید که مدیرتان هرگز موافقت نخواهد کرد، زیرا خطر بسیار زیاد است. اگر پروژه شما از شیوههای TDD که این کتاب توضیح میدهد پیروی میکند، در این صورت میتوانید نسبت به ایجاد بهبودها اطمینان بیشتری داشته باشید. میتوانید اجازه دهید آزمایشها ثابت کنند ایده شما ثابت است.
آیا اعضای تیم جدیدی دارید که باید به سرعت نحوه عملکرد نرم افزار شما را درک کنند؟ فرآیندی که این کتاب بررسی میکند به شما کمک میکند تا تستهایی را در TDD بنویسید که طراحی و الزامات نرمافزار را مستند کند. حتی ممکن است متوجه شوید که این تستها به درک شما کمک میکنند، مخصوصاً وقتی به پروژهای بازمیگردید که مدتهاست روی آن کار نکردهاید.
C++ زبانی است که قدرت و جزئیات زیادی دارد. این کتاب به ساده سازی فرآیند توسعه نرم افزار از طریق TDD کمک میکند. حتی اگر میدانید چگونه از یک یا چند ابزار TDD استفاده کنید، این کتاب مهارتهای شما را بهبود میبخشد و به شما اعتماد به نفس میدهد تا از TDD در پروژههای پیشرفته یا بزرگتر استفاده کنید.
آنچه این کتاب پوشش میدهد
فصل 1، Desired Test Declaration، از C++ برای نوشتن اولین تست شما که از یک پروژه خالی شروع میشود، استفاده میکند.
فصل 2 کتاب Test-Driven Development with C++، نتایج آزمایش، نتایج آزمایش را گزارش میکند و از آن استفاده میکند تا بتوانید به سرعت بدانید که چه بخشهایی از پروژه کار میکنند و چه بخشهایی با شکست مواجه شدهاند.
فصل 3 کتاب Test-Driven Development with C++، فرآیند TDD، با شناسایی مراحلی که قبلا انجام دادهاید، از TDD به طور عمدی استفاده میکند.
فصل 4 کتاب Test-Driven Development with C++، افزودن تستها به پروژه، بر اساس برآورده شدن انتظارات شما، قبولی یا شکست آزمونها را افزایش میدهد.
فصل 5 کتاب Test-Driven Development with C++، افزودن انواع تأیید بیشتر، آزمایشها را با دادن قدرت بررسی انواع ارزشها برای بررسی اینکه آیا آنها انتظارات را برآورده میکنند، توانمندتر میکند.
فصل 6 کتاب Test-Driven Development with C++، پیشرفتها را زودتر کاوش کنید، به دنبال پیشرفتهای دیگری میگردد و به شما نشان میدهد که چگونه به عقب برگردید و ایدههایی را که ممکن است تا این لحظه به آنها فکر نکردهاید بررسی کنید.
فصل 7، Test Setup و Teardown، تستها را برای اجرا و پاکسازی پس از آن آماده میکند تا بتوانید تستها را بر روی کاری که آنها باید انجام دهند متمرکز کنید که به درک آسانتر تستها کمک میکند.
فصل 8 کتاب Test-Driven Development with C++، چه چیزی یک آزمون خوب میسازد؟، توصیهها و یادگیری از فصلهای دیگر را برای تقویت آنچه تاکنون آموختهاید ارائه میکند و شما را تشویق میکند تا با نکاتی درباره موضوعات در فصلهای بعدی ادامه دهید.
فصل 9، با استفاده از تستها، یک کتابخانه ورود به سیستم ایجاد میکند که همه چیزهایی را که تا کنون آموختهاید در استفاده عملی قرار میدهد.
فصل 10 کتاب Test-Driven Development with C++، فرآیند TDD در عمق، با استفاده از TDD برای افزودن ویژگیها به پروژه در حال رشد از جمله نحوه مدیریت تغییرات طراحی، تمرین میکند.
فصل 11 کتاب Test-Driven Development with C++، مدیریت وابستگیها، ویژگیهایی را اضافه میکند که میتوان آنها را مبادله کرد و به شما نشان میدهد که چگونه اجزای نرمافزار غیرقابل اعتماد را آزمایش کنید و چگونه پیشرفت کنید، حتی زمانی که همه اجزای مورد نیاز خود را ندارید.
فصل 12 کتاب Test-Driven Development with C++، ایجاد تاییدیههای تست بهتر، از تطبیقکنندههای Hamcrest برای بهبود تستها استفاده میکند و به شما اجازه میدهد انتظارات را به طور طبیعیتر تأیید کنید.
فصل 13 کتاب Test-Driven Development with C++، نحوه آزمایش نقاط شناور و مقادیر سفارشی، نحوه استفاده مطمئن از شناورها و نحوه گسترش تطبیقکنندههای Hamcrest را برای رفع نیازهای سفارشی نشان میدهد.
فصل 14 کتاب Test-Driven Development with C++، نحوه آزمایش خدمات، تفاوت سرویسها و نحوه آزمایش خدمات را پوشش میدهد.
فصل 15، نحوه آزمایش با چندین رشته، آزمایشها را با رشتههای متعدد ساده و هماهنگ میکند تا بتوانید از شرایط مسابقه اجتناب کنید، در حالی که هر تعامل رشته ممکن را به طور قابل اعتماد و قابل پیشبینی آزمایش میکنید.
سرفصلهای کتاب Test-Driven Development with C++:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- About the reviewer
- Table of Contents
- Preface
- Part 1: Testing MVP
- Chapter 1: Desired Test Declaration
- Chapter 2: Test Results
- Chapter 3: The TDD Process
- Chapter 4: Adding Tests to a Project
- Chapter 5: Adding More Confirm Types
- Chapter 6: Explore Improvements Early
- Chapter 7: Test Setup and Teardown
- Chapter 8: What Makes a Good Test?
- Part 2: Using TDD to Create a Logging Library
- Chapter 9: Using Tests
- Chapter 10: The TDD Process in Depth
- Chapter 11: Managing Dependencies
- Part 3: Extending the TDD Library to Support the Growing Needs of the Logging Library
- Chapter 12: Creating Better Test Confirmations
- Chapter 13: How to Test Floating-Point and Custom Values
- Chapter 14: How to Test Services
- Chapter 15: How to Test With Multiple Threads
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Test-Driven Development with C++ میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.