Code Complete: A Practical Handbook of Software Construction

Code Complete: A Practical Handbook of Software Construction
by Steve McConnell

Code Complete: A Practical Handbook of Software Construction
List Price: $49.99
Our Price: $27.54
You Save: $22.45 (45%)
Availability: Usually ships in 1-2 business days
Buy Used: from $19.50 (click here)
Category: Book
See more book details and other editions


(Click here)
Buy this book at online book store in your country
Canada | UK | Germany | France

Book Summary Information

Author: Steve McConnell
Brand: Microsoft
Edition: Paperback
Audio: English (Unknown); English (Original Language); English (Published)
Published: 2004-07-07
ISBN: 0735619670
Number of pages: 960
Publisher: Microsoft Press

Book Reviews of Code Complete: A Practical Handbook of Software Construction

Book Review: A must-read for every programmer
Summary: 5 Stars

The focus of Code Complete is software construction, i.e. the coding part of software development. As Steve McConnell notes in the preface, "construction is the only activity that is guaranteed to be done". You can skip almost any step (requirements, testing etc), but if you don't write any code there is not going to be any software.

I bought my copy of the first edition of Code Complete in 1997, and I was immediately fascinated. I had never read anything like it before - a book that concentrated on the actual writing of the code. For example, it had a whole chapter on if- and case-statements, and another chapter on the naming of variables. I had no idea there was so much to learn about these seemingly straight forward activities. It was immediately useful to me, and I started to apply as much as I could of what I learnt from it.

Although it concentrated on coding, it covered a broad spectrum of activities around coding, from requirements and design to testing, debugging and optimization. It also had a great reference section with suggestions of further reading in the area of software engineering. This became my starting point for finding lots of other good books to read, like Peopleware: Productive Projects and Teams (Second Edition) and Programming Pearls (2nd Edition).

So this summer I decided to re-read this seminal book, partly to see what's new in the second edition, and partly to see if still think it is such a great book.

To answer my own question - yes, it is still the number one book on writing code. It is near encyclopaedic in its coverage of the nuts and bolts of programming. There are chapters on the naming of variables, on organizing straight-line code, on conditionals, on loops, on lay-out, on good commenting and on how to write good methods.

In it, there are frequent references to scientific studies that support the advice given in the book. For example, how long should variable names be? Instead of just giving us his opinion, McConnell summarized the findings of several scientific studies on the subject.

Each time there is reference to a study, there is a little "hard data" symbol in the margin. There are other symbols in the margin as well, "Coding Horror" for code examples of what not to do, and "Key Point" for, well, key points. The margin is also used for cross references to other chapters, and for quotes related to the subject discussed. For me, this works really well. It is both useful and makes the text easier to read. In general, the book is very well laid out.

Some of my favourite advice from the book (all of which I remember from reading the first edition) are:

Chapter 7.1 Valid Reasons to Create a Routine - for example: Reduce complexity, Introduce an intermediate understandable abstraction, and Avoid duplicate code (there are 6 more valid reasons in this chapter). The second part of the chapter is called Operations That Seem Too Simple to Put Into Routines and contains a great example of why it can be good to put even a one-line calculation in a routine - the code becomes more readable, and small operations tend to turn into larger operations.

Page 172 (and 264 for variables) Use opposites precisely. When naming "opposite" methods and variables, be careful to use the correct pairs, like add/remove, begin/end, create/destroy etc. This makes the relationship between them clear and obvious.

Page 433 Break complicated tests into partial tests with new boolean variables. This is such a simple thing, but it makes the code a lot more readable.

Page 754 "Make the incompleteness of a statement obvi". For example, when breaking up a logical and over two lines, end the first line with && - that way, it is clear that the statement continues on the next line.

Even though the book truly is great, there are a few things to complain about. In the first edition, the chapters on layout and comments came right after the chapters on the different control structures. But in the second edition, these two chapters have been moved further back. To me, that doesn't make sense, since they too are related to how you actually write your code. Now there are chapters on testing, debugging, optimization and refactoring in between.

And talking about refactoring: while this is an important subject, I don't feel the chapter on refactoring is particularly good. This chapter is new in the second edition. The summary of refactoring is OK, but a good part of the chapter consists of just listing different kinds of refactorings.

Overall though, the second edition is a nice face lift. The code examples are now mostly in Java, C++ or Visual Basic (in the first edition they were in Pascal, C or Ada). But since all the major themes of the book were already present in the first edition, it does not make a big difference if you happen to read the first edition instead of the second edition.

Code Complete is thick - 862 pages (not counting the bibliography and index). If that feels like a lot to read, then I suggest you start by just reading one or two chapters, for example "Using Conditionals" or "Layout and Style". They (and pretty much any chapter in the book) can easily be read without first reading the preceding chapters, and these will give you a sense of what you can expect from the other chapters. Even if these are all you read, you will still get a lot of value from the book.

However, if you are a programmer and care about how you write code, you owe it to yourself to read the whole book. It is considered by many (including me) to be the best book available on programming, and it will almost certainly make you a better programmer. Highly recommended.

Summary of Code Complete: A Practical Handbook of Software Construction

Widely considered one of the best practical guides to programming, Steve McConnell?s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices?and hundreds of new code samples?illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking?and help you build the highest quality code.

Discover the timeless techniques and strategies that help you:

  • Design for minimum complexity and maximum creativity
  • Reap the benefits of collaborative development
  • Apply defensive programming techniques to reduce and flush out errors
  • Exploit opportunities to refactor?or evolve?code, and do it safely
  • Use construction practices that are right-weight for your project
  • Debug problems quickly and effectively
  • Resolve critical construction issues early and correctly
  • Build quality into the beginning, middle, and end of your project

Software Engineering Books

Book Subjects
Most talked about in Software Engineering Books
Java Database Development ImageJava Database Development
by Martin Rinehart
Mcgraw-Hill Osborne Media; Published: 1997-11-10; Paperback; Book
Best price: $3.79
Price in other shops: $39.99
How to Be a Successful Online Student ImageHow to Be a Successful Online Student
by Sara Gilbert
McGraw-Hill; Published: 2000-11-21; Paperback; Book
Best price: $6.25
Price in other shops: $16.95
Sap R/3 Certification Exam Guide (All in One Certification) ImageSap R/ 3 Certification Exam Guide (All in One Certification)
by Stewart S. Miller
Computing Mcgraw-Hill; Published: 1999-05-03; Paperback; Book
Best price: $29.00
Price in other shops: $99.99
Signals and Systems: Analysis Using Transform Methods and MATLAB. Michael J. Roberts ImageSignals and Systems: Analysis Using Transform Methods and MATLAB. Michael J. Roberts
by Michael J. Roberts
McGraw-Hill Higher Education; Published: 2003-09; Paperback; Book
Price in other shops: $96.75
PgMP: Program Management Professional Exam Study Guide ImagePgMP: Program Management Professional Exam Study Guide
by Paul Sanghera
Sybex; Published: 2007-10-15; Paperback; Book
Best price: $31.46
Price in other shops: $59.99
Facts and Fallacies of Software Engineering ImageFacts and Fallacies of Software Engineering
by Robert L. Glass
Addison-Wesley Professional; Published: 2002-11-07; Paperback; Book
Best price: $21.93
Price in other shops: $39.99
Extreme Programming in Practice ImageExtreme Programming in Practice
by James W. Newkirk, Robert C. Martin
Addison-Wesley Professional; Published: 2001-06-05; Paperback; Book
Best price: $0.99
Price in other shops: $29.99
SAP R/3 Plant Maintenance: Making it work for your business ImageSAP R/ 3 Plant Maintenance: Making it work for your business
by Britta Stengl, Reinhard Ematinger
Addison-Wesley Professional; Published: 2001-05-28; Hardcover; Book
Best price: $55.90
Price in other shops: $74.99
Patterns of Software: Tales from the Software Community ImagePatterns of Software: Tales from the Software Community
by Richard P. Gabriel
Oxford University Press, USA; Published: 1998-05-28; Paperback; Book
Best price: $64.55
Computer Systems: A Programmer's Perspective ImageComputer Systems: A Programmer's Perspective
by Randal E. Bryant, David R. O'Hallaron
Prentice Hall; Published: 2002-08-23; Hardcover; Book
Best price: $36.99
Price in other shops: $149.00
Similar Books and other products
UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) ImageUML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)
by Martin Fowler
Addison-Wesley Professional; Published: 2003-09-25; Paperback; Book
Best price: $25.00
Price in other shops: $49.99
Object-Oriented Programming in C++ (4th Edition) ImageObject-Oriented Programming in C++ (4th Edition)
by Robert Lafore
Sams; Published: 2001-12-29; Paperback; Book
Best price: $22.99
Price in other shops: $64.99
Rapid Development: Taming Wild Software Schedules ImageRapid Development: Taming Wild Software Schedules
by Steve McConnell
Microsoft Press; Published: 1996-07-02; Paperback; Book
Best price: $8.73
Price in other shops: $35.00
Refactoring: Improving the Design of Existing Code ImageRefactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Addison-Wesley Professional; Published: 1999-07-08; Hardcover; Book
Best price: $25.00
Price in other shops: $64.99
UNIX Systems Programming: Communication, Concurrency and Threads ImageUNIX Systems Programming: Communication, Concurrency and Threads
by Kay A. Robbins, Steve Robbins
Prentice Hall; Published: 2003-06-27; Hardcover; Book
Best price: $48.77
Price in other shops: $89.99
Design Patterns: Elements of Reusable Object-Oriented Software ImageDesign Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Addison-Wesley Professional; Published: 1994-11-10; Hardcover; Book
Best price: $35.45
Price in other shops: $59.99
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) ImageThe Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
by Frederick P. Brooks
Addison-Wesley Professional; Published: 1995-08-12; Paperback; Book
Best price: $22.00
Price in other shops: $39.99
Head First Design Patterns ImageHead First Design Patterns
by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
O'Reilly Media; Published: 2004-11-01; Paperback; Book
Best price: $25.00
Price in other shops: $49.99
Clean Code: A Handbook of Agile Software Craftsmanship ImageClean Code: A Handbook of Agile Software Craftsmanship
by Robert C. Martin
Prentice Hall; Published: 2008-08-11; Paperback; Book
Best price: $33.13
Price in other shops: $49.99
The Pragmatic Programmer: From Journeyman to Master ImageThe Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt, David Thomas
Addison-Wesley Professional; Published: 1999-10-30; Paperback; Book
Best price: $35.25
Price in other shops: $49.99
Book store. Illustrated catalog of books on different categories