Code Complete
First edition cover | |
Author | Steve McConnell |
---|---|
Country | United States |
Language | English |
Subject | Computer programming |
Published |
|
Pages | 914 (2nd ed.) |
ISBN | 978-0-7356-1967-8 (2nd ed.) |
LC Class | QA75.5-76.95 |
Code Complete is a software development book, written by Steve McConnell and published in 1993 by Microsoft Press, encouraging developers to continue past code-and-fix programming and the big design up front & waterfall models. It is also a compendium of software construction techniques, which include techniques from naming variables to deciding when to write a subroutine.
Summary
McConnell defines the main activities in construction as:
- detailed design
- construction planning
- coding and debugging
- unit testing
- integration, and
- integration testing
Although he does not dismiss the value of other aspects of software development such as requirements and documentation, McConnell emphasizes the construction of software because:
- Construction is a large part of software development.
- Construction is the central activity in software development.
- With a focus on construction, the individual programmer's productivity can improve enormously.
- The source code defines the operation of the software; if code and documentation disagree, the documentation is wrong.
- Construction is the only activity that's guaranteed to be done.
The techniques of a good programmer are also given throughout the book. The whole part seven of the book is about software craftsmanship (layout, style, character, themes and self-documentation).[1]
The other six parts of the book are: laying the foundation, creating high-quality code, variables, statements, code improvements and system considerations.
Reception
Code Complete has received outstanding reviews, being widely regarded as one of the leading must-reads for software developers.[2][3] It won a Jolt Award in 1993.[4] It is rated favorably on several lists such as Goodreads, Amazon and some independent blogs.[1][5]
There are also negative reviews about the length and style of the book.[6] This book has over 900 pages and goes into details on many crucial topics of software development.
The first edition is superseded with Code Complete 2.[7] The first editions can be found used and are still relevant for programmers using C, Pascal and GW-BASIC [8]
Editions
References
- 1 2 "What are the key points of Code Complete?". 2010-09-17. Retrieved 2015-06-28.
But the most important take-aways are in Chapter 33, Personal Character: once you consciously seek to improve as a coder, you can and will. The fastest way to do so is to take on the attitudes of master coders (humility, curiosity, intellectual honesty, discipline, creativity), while also practicing their habits (many good habits are listed in the book, e.g. choosing good variable/value names).
- 1 2 "CC2 ISBN". 2015 ACM, Inc. Retrieved 2015-06-25.
- ↑ "Pan Pantziarka review". TechBookReport 2005. Retrieved 2015-06-25.
- ↑ Jolt winners 1993 Archived 2009-05-25 at the Wayback Machine.
- ↑ "Recommended Reading for Developers". 2015. Retrieved 2015-06-28.
Reading it means that you enjoy your work, you're serious about what you do, and you want to keep improving. In Code Complete, Steve notes that the average programmer reads less than one technical book per year. The very act of reading this book already sets you apart from probably ninety percent of your fellow developers. In a good way.
- ↑ "Russ Allbery Review Code Complete". 2015-01-05. Retrieved 2015-06-28.
I'm quite disappointed, since I'd heard nothing but praise for this book before picking it up. But it's not for me, and I'm now dubious of its value for any programmer outside of a fairly narrow, large-team, waterfall development process involving large numbers of people writing very large quantities of code in languages that aren't very expressive. And, well, in that situation I think one would get more benefit from changing that environment than reading this book.
- ↑ "Code Complete's 2nd edition website". Steven C. McConnell. Retrieved 2015-06-25.
- ↑ "CC1". Construx Software. Retrieved 2015-06-25.