Books

Books : reviews

William J. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick III, Thomas J. Mowbray.
AntiPatterns: refactoring software, architectures, and projects in crisis.
Wiley. 1998

rating : 4.5 : passes the time
review : 22 February 2000

This was very nearly a good book. Software patterns have caught the OO programming community's imagination, as a way of documenting and talking about and reapplying standard workable design solutions to common design problems. AntiPatterns is supposed to do the same thing for common mistakes, and how to solve them.

But where I was riveted by the GoF's Design Patterns, and couldn't wait to start applying what I had learned, AntiPatterns left me feeling let down. The early material, about the AntiPattern language, is rather waffly and repetitious and had me skimming. The whole book could have done with a thorough editing: there is a lot of repetition, and many typos.

Then the antipatterns themselves, except maybe for one or two, seem rather trivial, with trivial solutions (problem: this is bad management; solution: don't do it) or very well-known with impossible solutions (problem: this is bad management; solution: reorganise the company and change its culture). Maybe I find it less useful than I had hoped because it puts a lot of emphasis on management problems rather than technical problems (after all, that is the cause of most problems!), and I am more naturally interested in things technical. The two AntiPatterns I like most are The Blob (the whole program in one object) and Lava Flow (loads of incomprehensible dead code no-one dares remove, in case it isn't as dead as it looks). But even here the solutions are not terribly exciting: refactor the Blob into several objects; eliminate the dead code.

Also, the style grates in places -- there are many serious requests to "see Figure x-y", where said figure is just a poorly drawn and unilluminating cartoon. So, I will remember The Blob and Lava Flow as useful vocabulary, but for me, that's about it.