A Word on Design Paradigms

I make many of the points in this chapter in the context of object-oriented (OO) design, which is the dominant design paradigm at the time of this writing and for the prior two decades. The issues I bring up here are not unique to OO. If anything, the variety of encapsulation mechanisms available in most OO languages give you a wider range of solutions to the problems I am highlighting. On the other hand, the number of mechanisms and the conventional wisdom that typically go with those mechanisms provide many ways to make code difficult to test or untestable.

As our industry matures, the general attitude toward testing is changing dramatically. The ready and continuingly increasing availability of computing power makes ...

Get Quality Code: Software Testing Principles, Practices, and Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.