Rating:  Summary: insightful and an easy read Review: This is an outstandingly good book about software construction techniques that lead to a sound, robust product. It starts with simple things like naming conventions, function layout and commenting methods, but covers the whole software development cycle of design, programming and quality assurance. Although it gives plenty of source code examples in several different programming languages, these are always short and easy to follow even for 'language foreigners'. Source code examples are only used to illustrate more general, important points, rather than specific implementation details. The author is careful not to force his personal style on you - which would be rather foolish considering the many 'religious' issues covered (naming conventions anyone? ;) ) - but presents his opinions supported by sound arguments that'll make even skeptics reconsider. The text is an easy read compared to more technical books and is covered with lots of very amusing short stories that highlight key points. This book will be a great aid in keeping your and your coworkers' mental health while programming in a team under a merciless deadline. If you are at all serious about programming - buy this book!
Rating:  Summary: Too good to keep to myself Review: I am so impressed with this book from Steve McConnell that I am going to buy a copy for every member of my development team. I have recommended this book to other software practitioners and students in classes I have taught. This book is a valuable resource for all developers, especially those starting out. Developing with these "Best Practices" will enable you to grow into the Software Professional you aspire to be. I have all of Steve's books at this point, and eagerly await his next gem.
Rating:  Summary: I won't hire you unless you have read this Review: Every office I've been with has systems with bad code. (Bad Visual Basic code, I'm surmise.) The more programmers I meet the more I believe that, if I can have my way every "introduction to programming" course in every school in every country will have this as required reading. It's people who have not heard of this book that cause stress in my team, life and my project. So, in interviews I always ask, "When have you last read 'Code Complete'?" Unfortunately some candidates reply, "Oh sorry, is it a novel...?" It's sad.
Rating:  Summary: Your desert-island Software Engineering book (need update) Review: This book sat in my office shelf for years until, after my last job, I sat down and read it from cover to cover. I wish I had done so much earlier. I won't repeat all the accolades from downstairs except to point out the following: * The single most valuable thing about this book for me is his comprehensive synthesis of probably the entire history of SE thought up to this date. He not only quotes Brooks and Weinberg, but research data from study after study to back up every point he makes. He is consistently fair and candid, giving each different school of thought its due. Very often he presents not just the accepted p.o.v. but other, contrasting ones to give a full pro & cons picture of a given practice - most notable in his treatment of "gotos" (and we all thought it's a dead topic). Extensive yet unobtrusive cross-references point out relations between topics. And at the end, a full chapter of book recommendations and lists of other professional resources. The bibliography alone runs to 18 pages. This is the work of a generous man - not a man with an agenda, but a man that sincerely wants to help his fellow practitioners improve their trade. * However, despite his textbook-like approach, this is not a boring book. His clear style and constant revelation of ideas keep things moving (I never thought a chapter about naming variables can be exciting :-)). Long on practical, down-to-earth ideas and short on jargons, this book is written for YOU and not your boss (or worse - his/her boss). The elegant, almost-better-than-O'Reilly layout of the book helps a great deal. * Particular nuggets include the discussions on table-driven data design, data and routine naming, PDL for designing a single routine (and how it ties into the rest of the lifecycle), and a good example on 2 different ways of code sharing that now would fit into Martin Fowler's Refactoring book. * ... Which brings me to what this book needs - UPDATE! Many of the issues raised in the book are addressed in the last 10 years (Java, design patterns, refactoring, Extreme Programming, new software metrics like function points, CMM, IDEs and CASE tools). New topics have also popped up (Open Source, the internet and modern distributed network apps) In particular, I'd like to see him dissect the whole OO legacy, now that it has matured. I'd also like to know how much of the research results still stand, now that large software systems seem so _qualitatively_ different. * Lastly, there's one thing I still can't figure out - if Microsoft is using so much of his (impeccable) "best practices", why are their products still so worthless? :-) All in all - an unhesitated BUY. For an up-to-the-minute supplement, you might try Joel on Software (joelonsoftware.com). (My Fave Quote from the book: "If you work for 10 years, do you get 10 years of experience or do you get 1 year of experience 10 times?" - give THAT a thought!)
Rating:  Summary: Still the Best Review: Hard to believe this is 9 years old. Wait! It is fantastic. Even after 9 years of wannabees copying, this book is still the best. Lots of wisdom, code snippets, etc. I got some of the best-of-the-year from 2002 and they do not meet this standard. This MUST be on your bookshelf if you want to be considered a real programmer.
Rating:  Summary: Great book: knowledge you won't find elsewhere! Review: Having no formal programming education, I found this book to be the BEST book i've ever read about programming! It has information that is increadibly useful, and is hard to find elsewhere! The book is not focused on any language specifically, but helps you greatly improve your code in ANY language! No matter what langauge you program in or your experience, GET THIS BOOK! As well the book contains information on organizing projects, and doesn't have the tactic of "always do these steps no matter what size the project" as I've seen some things say, but instead relises that some projects require lots of planning, and some projects require none. Worth the price!
Rating:  Summary: Absolutely Indespensible Review: This book should be a part of every programming curriculum, and sitting on every programmer's desk. This is the definitive handbook to the process of taking software from design to quality, bug-free code. Despite it's age, nearly every carefully researched practice and tip in this book is just as applicable today as it was in 1993.
Rating:  Summary: The Coder's Bible Review: This is the best book on coding, which is the core of programming, that has been written. It provides very comprehensive coverage of the issues that come up, such as how to name things, and structure things. When I participate in software reviews, I have been known to reference this book. I expect the people on my team to be familiar with the material in this book. As you put the ideas in this book into practice, and your code improves and becomes cleaner, so to do your designs become better. When I read really good code, I find that the style becomes transparent, and the design shines through.
Rating:  Summary: Very good but showing signs of age. Review: I don't particularly enjoy reading thick books unless they are of reference type. This is a pretty thick book for the subject but overall it is worth it because it can be used as a reference tool. The examples are very light on object oriented content and heavy on procedural language examples such a 'C'. There is no Java (didn't exist) and the tools noted are definatly of an older generation. However this is an excellent read and should be on everyone's "...on a slow rainy day I would do this..." list.
Rating:  Summary: Highly Recommended Review: This book answers all my question about simple but disturbing questions in programming. Like, "Do I have to use global variable or local variable?", "Is it better to make this part a new function, or put it in the main function?", "What should I name this variable?", and many more. Yes, of course you can get the answers of those questions by your programming experiences. But this book really equals to many many years of programming experiences. This book will show you how actually does the professional work. As the title tells you, this is all about software construction. It doesn't teach you any fancy algoritm, but it teaches you how to build and manage your software.
|