Like so many facets of science, Object-Oriented programming ( OOP) has been overhyped. With so many calling it the silver bullet of program development, it is reassuring that there are voices calling for the triumph of reason. As one who has made the transitions BASIC => FORTRAN => Pascal => C =>C++=> OOP, I am well aware that while OOP is an enormous aid in creating robust software, it does not cure all diseases. Like all tools, if not property used, the cure can be worse than the disease. Webster does an excellent job here in pointing out the locations of many of the land mines inherent in making the transition to OOP.
Leading off with a brief introduction to OOP that can be skipped without consequence, the heart of the book insists of 10 chapters.
1)Conceptual Pitfalls
2)Political Pitfalls
3)Management Pitfalls
4)Analysis and Design Pitfalls
5)Environment, Language and Tool Pitfalls
6)Implementation Pitfalls
7)Class and Object Pitfalls
8)Coding Pitfalls
9)Quality Assurance Pitfalls
10)Reuse Pitfalls
These chapters clearly cover the entire sequence of software development.
Each pitfall is split into several sections.
a)Title and explanation
b)Symptoms
c)Consequences
d)Detection
e)Extraction
f)Prevention
In all cases, the advice is practical, not theoretical. While it may be difficult to implement the advice, it is very hard to argue with it.
One of the most valuable books devoted to OOP, this book should be required reading for everyone in software development using OOP. If all groups planning to use OOP were to make their first task a group study of this book, many projects that would otherwise fail would instead be a success.
Published in Mathematics and Computer Education, reprinted with permission.