Rating: - Excellent book!
As the title specifies, this book is COMPLETE, yes, sometimes is too generic, but I'm impress of the amount of information it contains. Very well organized, I recommend to read it and then keep it as reference (it contains a lot of information links as well to keep improving)
Rating: - The definitive book on software construction.
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 aweful 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 habbits. 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 coarse!"... 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 habbits that they've developed over the years can hinder production and cause software development to become more complex then it really is.
Steve writes in a very clean style. It's very easy to read. You don't need to memorize anything in a book like this, instead you just need to gain an understanding of the concepts he brings forth. After reading this book I definitely follow a lot of his advice. When I build a new class, method or what-have-you I get a certain feeling of when it seems right and when something seems wrong. I am now much better at analyzing my code and figuring out what doesn't seem correct and I take his advice I learned in this book to help me to figure out - and correct the problem. After reading this book I feel like a lot of my rough edges as a developer have been rounded out. I feel as if I gained a years worth of experience just by reading this book.
This book is friendly for any software developer. The concepts he presents apply to all languages. This is a book that teaches you how to think about programming better and how to construct good solid code. This is one of the best books i've ever read. If you're even thinking about buying this book, then buy it.
Rating: - Nice review
I have spent the last few weeks reading this book. On one hand the book is easy to read and presents a lot of good material. But it really reflects mainly what I learned in my undergraduate curriculum. I did not see a lot of new material, but I have also met many who did not practice these things. The best thing about the book is the checklists. They are great starting points for making your own checklists and put together a lot of things that are easy to overlook in the moment of creation.
Rating: - Clear, Concise, Easy to understand. The Holy Grail of programming references. A must-read for professional programmers.
Code Complete by Steve McConnell is the convergence (the crossroads) of experience, research, and theory. This book is invaluable, the Holy Grail of programming reference books. McConnell's writing style is clear, concise, easy to understand and often humorous.
Programmers on every level (from introduction to master) will benefit from reading this book. Programmers at the introduction level may find some topics advanced, but references to additional resources are close at hand. This book covers a broad range of interconnected topics ranging from: variable names, code-tuning, personal character, managing your manager, gonzo programming and much more. The emphasis is always on successful software design techniques.
McConnell doesn't shy away from presenting hard data and details; he nails the "whys" that so many other texts avoid.
Selected quotes from Code Complete:
"People have already made all the mistakes that you're making now, and unless you're a glutton for punishment, you'll prefer reading their books and avoiding their mistakes to inventing new versions of old problems." (Chapter 35)
"Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity." (Preface)
"The value of hands-on experience as compared to book learning is smaller in software development than in many other fields" (Chapter 35)
It's interesting to note that Code Complete is a required read to become a practitioner (intermediate) level employee in McConnell's company (Construx).
Code Complete is often compared with The Pragmatic Programmer: From Journeyman to Master [Hunt, Andrew, and Thomas, David]; the topics covered in the Pragmatic Programmer are a small subset of Code Complete. Code Complete is consistently written at a higher level, and offers more references for continual research and professional development. But don't take my word for it; read both, the Pragmatic Programmer makes a good prerequisite to Code Complete.
Hailing this book as "The Holy Grail of programming references" may seem fanatical, but I have yet to find a book that remotely measures up to Code Complete.
Rating: - Build software - dont write it...
My recommendation is that you collect a summary of your favorite excerpts and share them with your whole team.
|