Aucun appareil Kindle n'est requis. Téléchargez l'une des applis Kindle gratuites et commencez à lire les livres Kindle sur votre smartphone, tablette ou ordinateur.

  • Apple
  • Android
  • Windows Phone
  • Android

Pour obtenir l'appli gratuite, saisissez votre numéro de téléphone mobile.

Prix Kindle : EUR 23,18

Économisez
EUR 14,64 (39%)

TVA incluse

Ces promotions seront appliquées à cet article :

Certaines promotions sont cumulables avec d'autres offres promotionnelles, d'autres non. Pour en savoir plus, veuillez vous référer aux conditions générales de ces promotions.

Envoyer sur votre Kindle ou un autre appareil

Envoyer sur votre Kindle ou un autre appareil

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better par [Langr, Jeff]
Publicité sur l'appli Kindle

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better 1 , Format Kindle


Voir les 4 formats et éditions Masquer les autres formats et éditions
Prix Amazon
Neuf à partir de Occasion à partir de
Format Kindle
"Veuillez réessayer"
EUR 23,18

Description du produit

Présentation de l'éditeur

If you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.

Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard.

In this book, you'll learn:

how to use TDD to improve legacy C++ systems

how to identify and deal with troublesome system dependencies

how to do dependency injection, which is particularly tricky in C++

how to use testing tools for C++ that aid TDD

new C++11 features that facilitate TDD

As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team.

Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++.

What You Need

A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2.

Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice.

A good programmer's editor or IDE.

cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9.

Various freely-available third-party libraries are used as the basis for examples in the book. These include:- cURL- JsonCpp- Boost (filesystem, date_time/gregorian, algorithm, assign)Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.


Détails sur le produit

  • Format : Format Kindle
  • Taille du fichier : 2228 KB
  • Nombre de pages de l'édition imprimée : 368 pages
  • Pagination - ISBN de l'édition imprimée de référence : 1937785483
  • Utilisation simultanée de l'appareil : Illimité
  • Editeur : Pragmatic Bookshelf; Édition : 1 (10 octobre 2013)
  • Vendu par : Amazon Media EU S.à r.l.
  • Langue : Anglais
  • ASIN: B00HUEG8M8
  • Synthèse vocale : Activée
  • X-Ray :
  • Word Wise: Non activé
  • Composition améliorée: Activé
  • Moyenne des commentaires client : Soyez la première personne à écrire un commentaire sur cet article
  • Classement des meilleures ventes d'Amazon: n°266.691 dans la Boutique Kindle (Voir le Top 100 dans la Boutique Kindle)
  • Voulez-vous nous parler de prix plus bas?

click to open popover

Commentaires en ligne

Il n'y a pas encore de commentaires clients sur Amazon.fr
5 étoiles
4 étoiles
3 étoiles
2 étoiles
1 étoile

Commentaires client les plus utiles sur Amazon.com (beta) (Peut contenir des commentaires issus du programme Early Reviewer Rewards)

Amazon.com: 3.8 étoiles sur 5 15 commentaires
18 internautes sur 19 ont trouvé ce commentaire utile 
3.0 étoiles sur 5 Not what I expected - a little disappointed 23 novembre 2013
Par alejandro claro - Publié sur Amazon.com
Format: Broché Achat vérifié
Do not misunderstand me . It is not a bad book, but should be read with critical judgment. I had more expectations of the content of the book and answers to complicated issues with TDD in C++ that were not answered. The solutions were obvious and that is precisely the problems for I want answers and learn about better alternatives.

Uncle Bob as indicated in the foreword, the title is not the best. Nor do I agree with the title suggests Robert Martin. The title that best describes it is "Introduction to TDD by examples in C++". You will not find anything they have not seen in tutorials and in common internet discussions. The book is not very long and most of its contents are the examples with the refactors step by step. Langr makes a good attempt to explain what it does as it develops the examples, though often repetitive and a bit inconsistent at conventions.

Some of his thoughts on occasion contradict, but understandable since he tries to be pragmatic in his decisions through the examples, which should be better explained. An inexperienced reader might take quite literally many of the tips that in my opinion are generally not the best options. This kind of advice and rules, out of context cause many developers to perform stupid things.

All you have modern C++ is the use of some things in the new C++11 standard: use of 'auto', range-based for loop, some lambdas, not consistently use uniform initialization. Disuse many features and best practices in C++11.

The idea of ​​the review is not to touch all points and tips that I have an opinion. I will probably make a more extensive review on a blog. For now, I recommend to any reader to read it critically and do not accept the ideas without seeking alternatives, understand the context in which it is developing and consult with more experienced colleagues.
1 internautes sur 1 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Great book - save time writing unit tests efficiently 17 février 2017
Par Paul Solt - Publié sur Amazon.com
Format: Broché Achat vérifié
After working with the basics with Google Test (gtest) and starting to play with Google Mock, I really needed a foundation to build on.

I was so excited when I found Jeff's book on unit testing (TDD) and C++11x along with Google Mock (and Google Test) for C++ based testing.

Reading through one of the free chapters was eye opening and providing some great advice on testing.

Do as little as possible, even if that means taking shortcuts to write tests faster.

Jeff provides the example where he puts the Soundex class in the same file as the SoundexTest.cpp file, instead of breaking it apart. The reason being is that you'll spend too much time switching between files as you work between tests and implementation. It's the little time saving tips like these, which I really appreciate learning from an expert.

"It’s a calculated effort to save time in a manner that incurs no short-term complexity costs. The hypothesis is that the cost of splitting files later is less than the overhead of flipping between files the whole time. As you shape the design of a new behavior using TDD, you’ll likely be changing the interface often. Splitting out a header file too early would only slow you down. As far as “dangerous” is concerned: are you ever going to forget to split the files before checking in?

Langr, Jeff (2013-10-10). Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better (p. 19). Pragmatic Bookshelf. Kindle Edition. "
1 internautes sur 1 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Considerately shortened my learning process 22 mars 2016
Par Niklas Andersson - Publié sur Amazon.com
Format: Broché Achat vérifié
I consider myself a pretty decent programmer, but I have been working mostly with languages such as Python, php and Java. Recently I had the opportunity to do a project in C++, and I wanted to do it with the most recent tools, according to best practices and the best methodologies. I knew something about TDD, but had never practiced it in a real project. TDD had some kind of a bed rep, but still I was intrigued. I bought Jeff's book, and I am extremely glad I did. It hand-held me from the start, and explained in understandable terms how to think and act like a TDD-programmer.

I could start apply the thinking in my project, and I start to reap the benefit. I am no longer in fear of refactoring. As a matter of fact TDD gives you the confidence you might lack to sometimes mess around with your code and try new stuff just for the fun of it.

I am sure that hard-core, long-bearded, seasoned C++-programmers might find this book a tad shallow. But for me it was the perfect fit. I am glad I bought it.
8 internautes sur 9 ont trouvé ce commentaire utile 
4.0 étoiles sur 5 Well-written yet time consuming 21 janvier 2014
Par K. Paulus - Publié sur Amazon.com
Format: Broché Achat vérifié
I wish my organization would have had access to this book YEARS ago – it would have saved us a lot of time, heartache, and false starts when it came to unit testing in C++. The author states at the beginning that the reader will get the most out of the book by actually working through the exercises instead of just reading, and I wholeheartedly agree. It is through practice that we begin to change our habits, and I had many “a-ha” moments while doing the exercises that I surely would not have experienced via skimming. Versioned source code for each chapter can be found on the author's github site.

The main reason why I gave this 4 stars instead of 5 is that the author creates unnecessary roadblocks to getting the exercises up and running. Yes, there will always be some setup investment, but many exercises needlessly depend on a variety of external libraries. I would be so excited to dive into a new chapter, only to find out that I first needed to download and build yet another library that I never have and probably never will use outside the context of this book. Most of these are easily avoidable; for example, the production code for Chapter 5 uses cURL, which ends up getting mocked out in test anyway. Chapter 6 relies on boost::gregorian (which is separate from the main boost library) when it could instead use time_t and save the reader time (no pun intended).

Adding insult to injury, Chapter 8 randomly switches unit test frameworks, from GTest to CppUTest. Unfortunately that was the chapter I had most been looking forward to exploring, but when I got to that point I had already far surpassed what I'd time-boxed for this book and could not afford the overhead of getting another framework up and running. The author could have also provided more support for commonly-used IDEs. These symptoms all bring me to the conclusion that the author did not recruit a diverse enough base of beta testers to provide brutally honest feedback before the book went to print. I can only hope that he releases a more user-friendly revision soon.

I would also like to echo another reviewer's dismay about the lack of community support. Why set up a Google Group instead of using a forum with more regular activity like stackoverflow?

Despite the aforementioned shortcomings, this book is an absolute must for anyone trying to get started with unit testing in C++. It is well-written, well-organized, and keeps the reader's attention, unlike other programming books which provide a sure cure for insomnia. Take the time to work through the exercises - you'll be glad you did.
1 internautes sur 1 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Great primer for Cpp TDD 28 février 2016
Par Daniel - Publié sur Amazon.com
Format: Broché Achat vérifié
Enjoyable read. I am just starting Cpp so it gave a good overview from the start, and allowed me to better verbalize the advantages for TDD. I wish I could find more books like this to understand structuring larger projects and Cpp acceptance testing.
Ces commentaires ont-ils été utiles ? Dites-le-nous