Code Complete

by Steve McConnell

Book, 1993

Status

Available

Call number

005.1

Collection

Publication

Microsoft (1993) Paperback

Description

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 exp

User reviews

LibraryThing member lorin
Steve McConnell is a pretty big name in the software development community, and I always enjoy his writing. This book is a collection of good programming habits, a topic which is often neglected in higher-level software engineering books.
LibraryThing member name99
I don't understand why this book has achieved such a cult following.

For the most part it states the trivial and obvious in how to write code well. Is this simply a reflection of what Malcolm and I are always talking about, that the ignorance of most programmers of the most trivial things is quite
Show More
shocking?
Show Less
LibraryThing member vasudevram
One of the best books for programmers of all levels of experience. Even experienced programmers can benefit from it.
LibraryThing member EmreSevinc
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
Show More
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.
Show Less
LibraryThing member tjbond
This is stuff that needs to be ingrained in a developer's mind. Of particular interest to me since development is a second career and I'm stilling trying to be good at it.
LibraryThing member andy47
Exhaustive review of programming techniques and tools. A must read for beginners, more experienced programmers can skip sections they are familiar with. Although they do this with the risk of missing some detail that they previously weren't aware of.
LibraryThing member jmalonzo
Classic book on software development and software engineering practices and what makes software a success or an impending failure. It's a very good manual for beginners and experienced developers alike.
LibraryThing member VVilliam
An amazing book about software construction. Although very long and slow in the middle, McConnell offers extremely valuable insights into what it means to construct professional software and gives strong themes in computer science. McConnell is a great writer, and his style is perfect in keeping
Show More
the reader interested and informed. I highly recommend this book, and definitely have a notepad or highlighter ready at all times.
Show Less
LibraryThing member Murdocke23
A comprehensive book that covers a wide range of topics on software construction. Based on significant amount of material as well as author's experience. It's a big one, but is broken down well, and not really that hard to go through. The writing style is to-the-point. Offers great advice for
Show More
different situations, letting you decide what option best fit for you and your organization. Awesome as a reference book as well.
Show Less
LibraryThing member librisissimo
Old but still useful.
LibraryThing member stringsn88keys
Finally got around to reading this programming standard.It's a substantial book that covers a lot of areas in the programming domain, and would probably round out even the more experienced programmer.
LibraryThing member brikis98
A must-read for any programmer. Although I don't agree with everything in the book and a few parts feel out of date, it provides an excellent framework for how to think about programming and software engineering. It can help programmers of all experience levels to focus on the right things: that
Show More
code is harder to read than to write, that managing complexity is the main goal of programming, and so on.

The book is filled with nuggets of wisdom. Some of my favorite quotes, some from McConnell, some from other writers that he includes in the book:

Managing complexity is the most important technical topic in software development. In my view, it's so important that Software's Primary Technical Imperative has to be managing complexity.

A "wicked" problem is one that can be clearly defined only by solving it.

It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.

Eighty percent of the errors are found in 20 percent of a project's classes or routines.

Don't document bad code - rewrite it.

Jackson's Rules of Optimization: Rule 1. Don't do it. Rule 2 (for experts only). Don't do it yet - that is, not until you have a perfectly clear and unoptimized solution.

No programmer has ever been able to predict or analyze where performance bottlenecks are without data. No matter where you think it's going, you will be surprised to discover that it is going somewhere else.

The Fundamental Theorem of Formatting says that good visual layout shows the logical structure of a program. Making the code look pretty is worth something, but it's worth less than showing the code's structure.

Build one to throw away; you will, anyhow.


One downside to the book is that it seems to largely focus on OO languages (C , Java) and even older imperative ones (C, Ada, etc). There is virtually no consideration given to functional programming. This is a shame, as immutable variables, pure functions, and lack of side effects inherently solve or mitigate MANY of the code complexity and readability problems he discusses in the book. I chuckled at a line in the book where he says "Recursion isn't useful often...", which is true in the languages he used, which don't support tail call optimization.

The book also pre-dates the open source explosion, github, cheap/free access to amazing tools and cloud services, and the growth of continuous integration/deployment. These have had some pretty profound impact on software development that are not taken into account in the book.
Show Less
LibraryThing member scottjpearson
Code Complete is a 850-page tome which might serve as Computer Science guru-author Steve McConnell's magnum opus. His presentation addresses an audience that spans programmers at the beginning level, intermediate level, and advanced level. With its wide-ranging scope, it fills in any computer
Show More
scientist's holes of knowledge.

Units are filled with a handful of chapters each and consist of foundations, producing high-quality code, variables, statements, improvements, systemic issues, and craftsmanship. McConnell aims and succeeds at addressing core issues of how software is actually constructed.

I appreciate how much he addresses the team aspect of computer science. For me, this has been lacking in my education. I've worked hard at developing computer programming as a mathematical exercise. McConnell seems to conceptualize the practice more as a sports team, with individuals at varying degrees of core competencies and varying types of skills. As such, he puts forth ideas as computer code as communication in a forceful (again, 850 pages, 35 chapters) approach that I have not read or seen before.

The book is well-researched with frequent citations of studies, books, and papers. It attempts to bring its recommendations with hard facts, not simply sage advice. Further, it provides bibliographies at the end of every chapter with recommendations for further reading. I find that computer scientists are traditionally weak when it comes to reading the literature, and this type of book-list is hard to find. As one who learns best by close, quiet reading, I appreciate the well-commented references.
Show Less

Awards

Language

Original publication date

1993

ISBN

9781556154843

UPC

790145548443
Page: 0.2028 seconds