At Code Complete: A Practical Handbook of Software Construction One Easy Amazon Site shopping mall, looking for that special little gift could never be easier. Just choose a category below, enter a search term and press Search!
Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed
Editorial Reviews
Product Description
For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices.
lau Said: Code Complete: A Practical Handbook of Software Construction ( Aug. 23rd 2010 )
The book was in perfect conditions, it arrived before the dead line they gave me.
Mike B Said: Required Reading ( Jul. 29th 2010 )
I was told this was a classic, must read for every programmer. I found that it is a classic, must-read that no programmer should be without.
shooshx Said: Not for the professional ( Apr. 23rd 2010 )
I've read this book cover to cover and found myself quite annoyed of it most of the time.
Contrary to the stated intended audience, a professional programmer with real industry experience of more than a couple of years will find most of the advice here shallow, boring and obvious.
This book could have easily been cut by 50% without any loss of real content by avoiding repetitions, useless information and self references.
This book is heavily grounded in practices of C++ and Java and contains almost nothing for programmers of other languages like Python, Perl, Ruby, Javascript, lisp, PHP etc'. It contains no word about the functional programming paradigm and acts as if OOP is the only way to go. This goes to an extreme in a hilariously absurd section about recursion which states that "Recursion isn't useful often" and that it should be considered only for "a small set of problems".
The best programming advice I have ever received and which I pass along to the author is to learn another language. Preferably one that is widely different from what you're used to.
A few other annoyances I found throughout the book:
- The template "A study performed at [COMPANY X] in [19XX] found that [SUPPORT CURRENT CLAIM]". These kind of statements are meaningless to me as a reader. I don't care who did the study and when it was. I do care about how that claim was validated and how the method is still relevant in present days. That bit of information is almost always missing.
- The chapter about code tuning contains a lot of number and comparisons of different techniques but lacks any real credibility since it fails to state the conditions in which the techniques were tested. Some of the things described are highly processor and compiler dependent. Some depend heavily of the amount of cache and memory and the data being used. The author does excuse himself by saying that before you do any tuning you must first profile and look for hot-spots but that doesn't excuse him from basic scientific method and academic decency.
- Almost every chapter starts with something like "If you're not interested in Y and are interested in X you can skip to section Z". This is what the index is for.
- All of the side bar notes titled "cross reference" and "further reading" are superfluous. It almost seems like the author did a text search to find where the current subject is also mentioned in the book and linked there. Again, this is what the index is for.
- Repetition. some of the advice and anecdotes appear again and again and again. By the end of the book it felt like I've read the sentence "Use boolean functions to clarify boolean tests" atleast a dozen times. Another extreme example was a section of about 4 pages with some 20 bullets on some subject which is followed by a page and a half "check list" section which contains a summary of those 20 bullets.
- Contrived examples. When the author wants to make the point that something is bad you can be sure that he'll come up with the most stupidly contrived example to make that point. A more interesting approach would be to look at something that an actual, non-brain-dead, programmer would actually consider writing, explore the reasons why he would write that and explain what is wrong with his reasoning.
If you're a professional not just fresh out of CS studies and you keep yourself informed on blogs like "Joel on software" and "Coding horror" (which borrows its logo from this book) you can safely skip this one.
Christian Koeppe Said: Indeed a must for Software Engineers ( Mar. 23rd 2010 )
This is one of the best books on Software Construction I've ever read. If you wanna name yourself a good software engineer, you better have this book in your shelf and it better shows some wearing :-)
Seriously, I thought that I'm a good programmer and software constructor, and I still think I am. BUT this book offers some insights into why you are doing things the way you do and how to do them best. It covers nearly all possible topics of software construction, but also takes into account a lot of maintenance issues, and this is one of the points which make this book special.
This book is highly recommended to all Software Engineering/Informatics students and also all selfmade-programmers. Instead of finding some things out for yourself (in painful night sessions) better read this book and follow the suggestions McConnell gives. And if you call yourself an experienced programmer, use the checklists provided by the book to make sure that you really didn't forget something.
Emre Sevinc Said: This book belongs to your table, not your bookshelf ( Mar. 5th 2010 )
I don't think yet another long review is required for this book because I consider it among the standard books that a real-world software developer should have read. To put it another way, any software developer who already internalized all of the wisdom and techniques in that book can be considered a pretty good developer and / or software team manager.
But be careful, this book is not a how-to book and does not focus on any specific technology. You can be an ASP.NET developer working on MS Windows platform or a Python developer working on a GNU/Linux platform. If you are involved with a project that includes more than a few thousands line of code and you work as a part of a team then you owe yourself to have the knowledge described in the book.
I think I'll create a small file that includes all the checklists that are given at the end of the chapters as well as the further reading lists and send a copy of that every junior software developer I work with.