

Paperback: 960 pages
Publisher: Microsoft Press; 2nd edition (June 19, 2004)
Language: English
ISBN-10: 0735619670
ISBN-13: 978-0735619678
Product Dimensions: 7.4 x 2 x 8.9 inches
Shipping Weight: 3.3 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (289 customer reviews)
Best Sellers Rank: #7,855 in Books (See Top 100 in Books) #3 in Books > Computers & Technology > Networking & Cloud Computing > Data in the Enterprise > Client-Server Systems #6 in Books > Textbooks > Computer Science > Software Design & Engineering #6 in Books > Computers & Technology > Business Technology > Software > Enterprise Applications

The tragedy for books that become classics is that there are many more people who have heard of them (or perhaps also bought them) than people who have read them. In this case, the fact that Steve McConnell's "Code Complete" is approximately 900 pages long doesn't help, either. Even so, this is a book that not only deserves to be read, but also rewards multiple readings.The Good: McConnell deserves credit for writing the first (and only?) readable encyclopedia of best practices on software quality, covering topics such as how to build classes, use data and control structures, debug, refactor, and code-tune. Yes, it would be nice if the book was updated to include substantive material on languages like Ruby or Python (cf. p. 65, Python "also contains some support for creating larger programs") but, in the words of Gertrude Stein, "Not everything can be about everything" -- though Code Complete does come pretty close. This book contains an astonishing number of practical points on a variety of topics. Here is a quasi-random selection: a) don't use booleans as status variables (chs. 5, 12), b) when you feel the need to override a function and have it do nothing, don't; refactor instead (ch. 6), c) when choosing variable names, avoid homonyms (ch. 11), d) if you decide to use a goto, indenting your code properly will be difficult or impossible (ch. 17), e) trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often (ch. 22), f) make your code so good that you don't need comments, and then comment it to make it even better (ch. 32), and finally the oft-repeated g) you should try to program into your language, not in it (ch. 34). McConnell also sprinkles the text with classic words of wisdom, e.g.
I don't know how much more I can say about this book that hasn't been said already but I will do my best to describe my experience with this book.Have you ever looked at a class, or a method that seems to work fine but it just doesn't "feel" right? For some reason it seems as if that method or class may be hard to debug in the future or that the code is hard to understand. Or have you gone back to a class file you wrote months ago and you spend an awful lot of time trying to figure out what the heck is going on with that class file? Maybe the methods in the class are spaghetti like in nature, or maybe the names of your methods don't have a very good description so it's hard to figure out how everything ties together. I have had this problem. This book will teach you how to get out of those habits. You will learn what a solid class or method looks like. You will learn how properly naming your classes and methods can greatly reduce complexity in the long run. Everything is backed by hard evidence. I should also mention that this is just one chapter in this wonderful book.This book really drills down proper programming practices. A lot of times you may read a passage and think to yourself "well, of course!"... but then you realize you don't practice what's contained in the passage you just read. This book is great for both new programmers and experienced programmers alike. New programmers benefit greatly because they will learn how to construct software properly without having to go through all of the hoops. Experienced programmers will also learn a great deal, as well as be reminded that some of their habits that they've developed over the years can hinder production and cause software development to become more complex then it really is.
Code Complete: A Practical Handbook of Software Construction, Second Edition Minecraft: Minecraft Creations Handbook: The Ultimate Minecraft Construction Book. Best Minecraft Construction and Building Book (mincraft secrets, minecraft handbook, minecraft construction) McGraw-Hill's National Electrical Code 2014 Handbook, 28th Edition (McGraw Hill's National Electrical Code Handbook) 2012 International Plumbing Code (Includes International Private Sewage Disposal Code) (International Code Council Series) Code Check Complete 2nd Edition: An Illustrated Guide to the Building, Plumbing, Mechanical, and Electrical Codes (Code Check Complete: An Illustrated Guide to Building,) Software Engineering Classics: Software Project Survival Guide/ Debugging the Development Process/ Dynamics of Software Development (Programming/General) Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection: Obfuscation, Watermarking, and Tamperproofing for Software Protection The Construction MBA: Practical Approaches to Construction Contracting Smith, Currie and Hancock's Common Sense Construction Law: A Practical Guide for the Construction Professional Swift: Programming, Master's Handbook; A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... engineering, r programming, iOS development) Ruby: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... web design, tech, perl, ajax, swift, python,) Java Programming: Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... web design, tech, perl, ajax, swift, python) Php: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... engineering, r programming, iOS development,) Python: Programming, Master's Handbook; A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO ... engineering, r programming, iOS development) Construction Defect Claims: Handbook for Insurance, Risk Management, Construction/Design Professionals Clean Code: A Handbook of Agile Software Craftsmanship Practical Software Reuse (Wiley Series in Software Engineering Practice) Object-Oriented Software Engineering: Practical Software Development Using UML and Java Agile Project Management: Agile Revolution, Beyond Software Limits: A Practical Guide to Implementing Agile Outside Software Development (Agile Business Leadership, Book 4) Minecraft Pocket Edition: Construction handbook (Unofficial Minecraft PE Handbooks, Minecraft Books for kids) (Minecraft Pocket Edition Handbook 4)