FREE Shipping on orders over $25.

Used - Good | See details
 
   
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Writing Solid Code (Microsoft Programming Series) [Paperback]

Steve Maguire
3.8 out of 5 stars  See all reviews (46 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Paperback --  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

January 1, 1993
For professional intermediates to advanced C programmers who develop software, here is a focused and practical book based on writing bug-free programs in C. Includes practical solutions to detect mistakes before they become a costly problem.


Editorial Reviews

Amazon.com Review

Any programmer worth their silicon knows that it is wiser to invest time preventing bugs from hatching than to try to exterminate them afterwards. And this is one of the best books for developing a proactive attitude towards electronic entomology. Follow Maguire's advice, and your testers, supervisors and customers will love you. Recommended.

Product Details

  • Paperback: 256 pages
  • Publisher: Microsoft Press; 1 edition (January 1, 1993)
  • Language: English
  • ISBN-10: 1556155514
  • ISBN-13: 978-1556155512
  • Product Dimensions: 9.1 x 7.3 x 0.9 inches
  • Shipping Weight: 1.4 pounds
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (46 customer reviews)
  • Amazon Best Sellers Rank: #643,594 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

3.8 out of 5 stars
(46)
3.8 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
46 of 47 people found the following review helpful
4.0 out of 5 stars Still Offers Good Advice December 4, 2002
Format:Paperback
The negative reviews I've read tend to fall into two categories: 1) Anti-Microsoft Bashing and 2) Nitpicking.

This book isn't a recipe book, and it's a bit dated, having been written during the days of DOS and the first Macintosh, but the underlying themes and general advice are still valid:

- Enable compiler warnings and pay attention to them.
- Use assertions to validate your assumptions.
- Don't quietly ignore error conditions or invalid input.
- For a complicated, critical algorithm, consider using a second algorithm to validate the first. (e.g. validate binary search with a linear search).
- Don't write multi-purpose functions such as realloc (it can grow memory, shrink memory, free memory, or allocate new memory -- it does it all).
- Check boundary conditions carefully.
- Avoid risky language idioms.
- Write code for the "average" programmer. Don't make the "average" programmer reach for a reference manual to understand your code.
- Fix bugs now, not later.
- There are no free features; don't allow needless flexibility (like realloc).
- Ultimately the developer is responsible for finding bugs; he shouldn't write sloppy code and hope that QA will find all his bugs.

Comment | 
Was this review helpful to you?
25 of 25 people found the following review helpful
5.0 out of 5 stars Please ignore previous negative reviews November 22, 2003
Format:Paperback
I was shocked to see this book get some negative reviews. Those that blasted Microsoft missed the point. This book provides invaluable advice in a quick read. For example, "If you have to look it up, the code is not obvious," or, "If you find yourself designing a function so that it returns an error, stop and ask yourself whether there's any way you can redfined the function to eliminate the error condition." This is the book that convinced me to single-step all my code. The heuristics on proactive bug prevention, which are summarized in the appendix by the way, will save your team time and let you move on to adding features rather than fighting fires.
Comment | 
Was this review helpful to you?
17 of 17 people found the following review helpful
4.0 out of 5 stars Overall excellent book, with a few flaws April 27, 2001
Format:Paperback
This book in many ways changed the way I approached programming. In particular, the perspective that it took towards designing and implementing programs in a way such that bugs are automatically detected (preferably by the compiler, or by other tools) has proved invaluable to me in my later experience as a software engineer. Other advice (use some form of 'assert' heavily, deliberately write 'brittle' code that will break loudly as soon as the slightest thing goes wrong, so errors aren't hidden) was similarly insightful, if occasionally a bit counterintuitive.

On the other hand, the book's source language (the C programming language, as used by Microsoft tools) is increasingly outdated. This might prevent some people from appreciating the finer insights of this book. Also, the author recommends use of Hungarian notation, which I despise in a strongly typed language. (My recommendation: use PC-Lint, with strong types. Both more powerful, and more readable.) Still, the overall philosophy of the book is very powerful, and the concepts and techniques that it discusses can easily be applied to other programming languages and other software development efforts. I was writing in C++ when I read the book, and I currently program in Java, but I still apply the lessons I learned from this book.

This book is certainly not the ONLY way to write solid code (and I have found improvements on a number of techniques discussed in the book), but it does sketch out a fairly workable process which if followed would produce a quality product. Most importantly, the PHILOSOPHY that the author uses to approach writing bug-resistant programs is quite powerful.

Note that this is a book on software implementation, not software design (except in the small scale). Large-scale design is a whole separate issue which this book really does not address much.

Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars I read it in 2013, and it was awesome
This book is awesome. I think I liked it even more that it was written in 1993 because we got a peek into 1993 Microsoft. Read more
Published 1 month ago by Joe
5.0 out of 5 stars Great concepts, good for technical interviews
Very good book to build core concepts for programming in C. Learned a lot of new things about writing secure, 'solid' code.
Published 17 months ago by RDas
4.0 out of 5 stars Timeless advice on writing bug-free, maintainable software
A classic that is dated in some respects (C language?) but still has much to offer. Should have a spot on every developer's and project manager's book shelf. Read more
Published on October 2, 2010 by BeingDigital
5.0 out of 5 stars Life Changing
"Writing Solid Code" contains a creative list of excellent ways to improve your software coding ability, with an emphasis on techniques that simplify and speed up the debugging... Read more
Published on May 19, 2010 by Margaret P.
4.0 out of 5 stars Excellent read
Certainly no book can cover all the best practices to write best code but this book has done good attempt. Read more
Published on September 14, 2008 by Pd
4.0 out of 5 stars Good "old school" book
This book quickly reminded me that the "old school" rules to software development will always apply, no matter how many new labels you put on it (e.g. Agile). Read more
Published on January 27, 2008 by Mark Hurley
4.0 out of 5 stars Old but still relevant today
This book has been recently recommended to me by Amazon based on my previous purchase habits and I decided to go take a look at its description. Read more
Published on October 8, 2007 by Olivier Langlois
5.0 out of 5 stars Too old to read, too good to forget
I would not read this book now but I'm so sorry the author does not write an updated one! This book really changed the way I wrote code.
Published on January 24, 2007 by A. Nahir
3.0 out of 5 stars One of the books to read -- though not the only one
You may not be impressed when you see that this is a Microsoft book. You may get bored at the beginning when all the examples are C and most about memory management. Read more
Published on October 24, 2006 by T. Harris
5.0 out of 5 stars Maguire is my hero
This is hands down, my favorite book on software engineering. If you care at all about writing quality code, you should read this book. Read more
Published on April 14, 2006 by A. Page
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 





Look for Similar Items by Category