To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Code Complete is a good collection of advice and insight into the practice of developing software, but even the second edition shows its age and much of the advice seems a little antiquated now. In particular the focus on adhering to a waterfall-like process in early chapters seems thoroughly inappropriate in the modern world - even with the 2nd edition's nods to the new-fangled agile methodologies the kids are using and the suggestion that the appropriate level of detail for the requirements and design phases depend on the type and size of the project (which is fair).
Some of the detailed nuts and bolts advice on construction is sound but in this day and age it seems odd that it needs saying as nobody would consider doing otherwise (would they?). For instance multiple injunctions to consider maybe possibly using source control are hopefully no longer doing useful work on the reader.
The notion that Visual Basic is a credible choice of programming language also seems peculiar now, but I can't remember a time when that wasn't true 😜 You can easily spot sections that are new or revised in the 2nd edition because they are aware that C# exists.
The book still gives a good overview of a range of topics, though many of them are covered better and in more detail in other books like The Pragmatic Programmer, Refactoring (Fowler) and Clean Code (Martin) . I'd like to say that this book is a good introduction and starting point, but without a refresh to bring it more up to date it's not an easy pitch. I'm not sure there's anything that's as comprehensive but more up to date though?
The Golden age of books about the art and craft of software engineering does seem to be behind us... I guess with all the resources available online now there's not enough of a market, but blog posts and video tutorials can never quite replace the insight you get from reading the thoughts of an experienced programmer who's spent time thinking about what they do and how they do it, and on consolidating those thoughts into a doorstop for communication. There is a perspective, a world view, a joined up pattern of ideas presented here that is more than the sum of the occasionally questionable parts, and there's value in that.
I'm really not sure if I'm a veteran or not, writing rubbish code since I was a kid in the 80s and getting paid for it for the past couple of decades.
This book is worth a read for all of us, at any level. Ok, maybe a beginner wouldn't get it, but if you've been hacking code long enough to know the modern languages are abstractions and simplifications of what came before then you'll read through the parts that seem less obvious.
Maybe or maybe not a spoiler, but if in doubt, try writing a test case, see how it pans out. Simple and obvious. Most of what is in this book is simple and obvious, but then we do all need that pointing out often and frequently!
It's not a bible of coding, there is no such thing, but it is something we should all have a go at. I didn't rail against anything Steve had to say (unlike, say, Cooper), but that isn't to say he or I are right. I do think he is sticking to making sensible observations about what he thinks is worth saying from a lifetime of coding, as oppose to trying to be exciting. For that alone, I recommend him.
If you are looking for a good introduction to take your basic programming skills to the next level, this is definitely your go-to friend! Great book. I bought it a number of years ago when I was a first year undergraduate and I have really gotten good use out of it. I would definitely recommend this book to a friend.
Every software developer should read this book. Every company that develops software products should have this in their library: you do have a library of software development books don't you? This last should be the 13th Joel Test.
Amazingly comprehensive, a worthwhile investment for programmers at all levels. This is a reference book you can use again and again. Not the type of the book you will read cover-to-cover, though. If you are looking for a tutorial-level style of literature, look elsewhere. I bought the used version and I was very happy with the quality.
This is one of the best software books that I have ever read. It is so well written.
At first I thought he was being a little too thorough by backing up almost every piece of advice with hard evidence / research statistics etc. But, by reading a chapter by night and working at the 'programming coal face' by day, I have found myself seeing real benefits from that 'teaching approach'.
Whilst programming I often ask "Shall I do this, shall I do that?", I find it very easy to recall not only which solution is best, but why. Its liberating to make a decision based on my own judgement, rather than "just cos some guru said so in a book".
He doesn't give you a set of recipes, but a set of tools and principals and I cannot think of anyone who would not benefit from having this on their bookshelf.
I find this hard to describe how good this book is. A standard coding book would describe how to write a class in C#. This book tells you why you would write a class. It's more of a programmers philosophy. It's quite profound and I love it.
This is a big book. Really big. Despite its size, though, it is an easy read and a rewarding one.
I have followed the citations back to some of the studies and books that are cited in Code Complete and you can trust me that Steve McConnell has transformed some pretty dry material into something that is very readable and incredibly well cited (especially all of the hard data).
This is a book you read if you want to take software development seriously.
A great insight into high quality code generation processes. Covering the differing requirements of writing code for games, medical, safety critical, web developement etc.. Software pervades many facets of our lives and generating it in a manner appropriate to its use is important, this book is a pragmatic guide to achieving this in a manner that is agnostic to programming language.