- Paperback: 288 pages
- Publisher: Microsoft Press,U.S. (1 Jun. 1993)
- Language: English
- ISBN-10: 1556155514
- ISBN-13: 978-1556155512
- Product Dimensions: 18.7 x 2.2 x 23 cm
- Average Customer Review: 4.3 out of 5 stars See all reviews (18 customer reviews)
Amazon Bestsellers Rank:
141,651 in Books (See Top 100 in Books)
- #243 in Books > Computers & Internet > Computer Science > Programming > Software Design, Testing & Engineering > Software Architecture
- #246 in Books > Computers & Internet > Computer Science > Programming > Software Design, Testing & Engineering > Functional Programming
- #384 in Books > Computers & Internet > Software & Graphics > Software Design & Development
Writing Solid Code: Microsoft Techniques for Developing Bug-free C. Programs (Microsoft Programming Series) Paperback – 1 Jun 1993
Customers Who Bought This Item Also Bought
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your e-mail address or mobile phone number.
More About the AuthorsDiscover books, learn about writers, and more.
Writing Solid Code is one of the best books for developing a proactive attitude towards electronic entomology. Any programmer worth their silicon knows that it is wiser to invest time preventing bugs from hatching than to try to exterminate them afterwards. Follow Maguire's advice, and your testers, supervisors and customers will love you. --Jake Bond
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Good examples and easy to read. Even if you do not write in C, this book is a must have.
My only caution is that these techniques, when applied by novice programmers, is no doubt the source of much of Microsoft's code bloat. Also, encouraging the programmer to rely heavily on the source-level debugger can prevent developers from getting a real sense of the program's performance on user-level hardware.
Otherwise, a very good book and very useful advice, much of which I've been applying in my own projects.
1) How could I have automatically detected this bug ?
2) How could I have prevented this bug ?
Steve goes on to lay out the process, techniques and guidelines for eliminating bugs. He systematically builds on the ideas and principles from previous chapters. Many of his techniques were new to me but made perfect sense, as if they should be universally embraced without question. He draws on his years of experience at Microsoft, where these techniques are still used today. The guidelines are meant to be integrated into the thought process of the programmer during the design stage. It is here where bugs can be eliminated in the least costly fashion. Many fine examples are provided, including a suite of memory management functions that are ready for deployment. I will definitely be using these principles in my code from now on. A perceptive, deliberate work that will sharpen the programmer's scalpel and pay dividends throughout the development and testing phases.
The text covers how to avoid bugs in the first place (by using assertions and sensible API design) and how to use the weapons at your disposal to find them at the testing stage (by stepping through your code in a debugger). It's this final concept in particular in which Steve's ideas are both contrary to the practice of, and most likely to add value to, the majority of developers. If you adopt some of the practices recommended here, you are almost guaranteed to write better code.
As the book says, the rest is attitude. If you're looking at this book, you probably already want to write better code - and there's no better way to do that than to read this.
Ignore some of the other reviews here which complain about Microsoft-centredness: it's not true, the book is about developing a philosophy which helps you to find and prevent bugs, about taking responsibility for driving the bugs out of your code.
I ask everyone who works for me to read this book, and I've used some of its concepts to help frame interview questions when I'm recruiting. It's become part of my way of thinking and I'm certain it helps me and would help any software engineer worthy of the title.
This is not the sort of system that you can easily single step through to find a bug, so implementing some of the ideas in this book meant most bugs found themselves, which was a huge help.
Most Recent Customer Reviews
This is a great book. It is a little dated now and requires the reader to sort the still-valuable information from the now-dated. Read morePublished 3 months ago by Sohnee
I'm a .NET developer and am just re-reading this now and I have to say its still quite relevant, your hearing great great advice on how to look at things and that cant be bad.Published on 23 Nov. 2004 by C. Jack
First, I think this book is an excellent read. Books of this type are often full of dense content with wildly overdone examples. Read morePublished on 1 July 2000
This book should be required reading for every college graduate. It teaches real world programming techniques which should be in every C/C++ programmers bag of techniques. Read morePublished on 18 Mar. 1999
This book is not a programmer's desk reference. Those looking for a how-to tome should look elsewhere. Read morePublished on 7 Jan. 1999
In the Preface of "Writing Solid Code," Maguire comments that he had never written a book before. Read morePublished on 23 Nov. 1998
Look for similar items by category
- Books > Computing & Internet > Programming > Languages
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Functional Programming
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Software Architecture