[Home Page] - [Reviews Main] | |
|
No Bugs, Delivering Error Free Code in C and C++ by David Thielen Highly Recommended |
| ISBN: 0-201-60890-1 Publisher: Addison-Wesley Pages: 206pp Price: £21-95 |
| Categories: advanced c advanced c++ writing solid code |
| Reviewed by Ian Cargill in C Vu 5-4 (May 1993) |
When I picked up No Bugs! at the AGM in Birmingham, I was more than a little sceptical. By the time I arrived back at Euston, I had become a firm Thielen fan. I think he has done C/C++ programmers everywhere a great service with this book.
Although Thielen touches on ways of avoiding the introduction of bugs in the first place, most of the book is dedicated to ways of finding them. He starts with some good general principles (eg debug code must not change the way a program works!) then details a number of general and specific techniques.
The general techniques apply to all code and include tricks such as ENTER/EXIT logging, asserts and debug printfs. More specific techniques are also given in separate chapters. Watching the Stack is fairly brief, but there is a substantial chapter on Watching the Heap. Anyone who uses mallocs needs the techniques in this chapter. There are also some specific techniques for file I/O problems.
Thielen also provides a useful chapter on the Testing Process. This is a good guide to the way in which you should design, conduct and document your test process. Finally, there is a useful chapter on commercial software packages (such as Bounds Checker, Soft-Ice, etc).
Although the book is written mostly in the C idiom, it is just as useful to C++ programmers. In fact there are chapters giving 'special tricks' for C++ and Assembler programmers.
This is a book which should be on every C programmer's bookshelf, whether beginner or expert. I cannot recommend this book too highly. Go out and buy a copy NOW, it is worth every penny of the price.
To link to this review, please use the URL: http://www.accu.org/bookreviews/public/reviews/n/n000864.htm
Copyright © The Association of C & C++ Users 1998-2000. All rights reserved.