Pitfalls of Object Oriented Development -- a survival guide for developers, managers, and executives -- covers the basic concepts and terms of object-oriented development and provides over eighty helpful summaries on how to detect and avoid potential problems. Programming wiz Bruce Webster discusses how to guide a development team through OOD, analysis and design, classes and objects, coding, and quality assurance.
Several months ago, we decided to change and improve our development methods at work. To be specific we have switched from OOD to Data Oriented Development where possible. I thought it would be a good idea to read this book to motivate myself and my colleagues. And now I have doubts about DOD. If there is one thing I have learned from this book it's this: You should be really sceptical and patient about adopting a technology which is new to you and your team. This book is old but still a great resource, definitely worth reading.
This is a book intended for managers. Webster says that design is probably the most important part of any project. He says that there are few competent OO developers, mostly because OO is very hard to master. I'm turning to books on development now, Design Patterns, a Booch book etc.
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. This review also appears on Amazon.