Most Helpful Customer Reviews
10 of 13 people found the following review helpful:
5.0 out of 5 stars
A First Class Guide For Developers of all Levels, 8 Feb 2007
This review is from: Code Craft: The Practice of Writing Excellent Code (Paperback)
I came across an excerpt from this book, thought it might be an interesting browse and so got hold of a copy. It turned out to be far more than that, far better than I had even anticipated.
First of all, it is an easy and enjoyable read - and that isn't a description you can give to many books that delve into technical theories and topics! The reason is that, not only is it well written in clear language, his subtle, gentle humour succeeds in turning what could so easily be a long, boring dry list of do's and dont's into a very interesting and satisfying book.
The author comes from a C language background and uses this for the examples, but - even though VB is my particular language of choice - I didn't find the use of C to be a problem at all. The examples are generally quite short and the logic or the point being made is always clear to see.
Although a huge amount of research has clearly gone into the writing of this book, it is always obvious that most of the examples are from his own personal experience. For me, this added value and credibility to the points that are being made.
I read this book from cover to cover, (and that's not something I usually do) and have already taken many of his suggestions on board. I know that I will go back to it again and again in the future.
This is a really first class book that fully delivers on its promise (again an achievement not shared by all technical books!). If you take the time and trouble to read it and assimilate the guidance it will certainly help you to write excellent code.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
2 of 4 people found the following review helpful:
2.0 out of 5 stars
Some useful stuff, but mostly obvious. Needs a technical editor., 12 Dec 2009
This review is from: Code Craft: The Practice of Writing Excellent Code (Paperback)
Most of the stuff here is obvious, so only for a neophyte. There's stuff which as a programmer of 30+ years experience, I simply disagree with - maximising the number of source files in a project for instance.
Some of the examples are just bad - take a look at the following code: (it's in c and I've had to change the layout slightly)
1 #include <stdio.h>
2
3 int main(int argc,char **argv)
4 {
5 int low, high, div, gcd =0 ;
6 low =atoi(argv[1]);
7 high =atoi(argv[2]);
8
9 printf("Finding GCD for %d and %d\n",low,high);
10
11 for (div=low; div > 0; --div)
12 {
13 if ((low % div == 0) && (high %div == 0))
14 if (gcd < div)
15 gcd=div;
16 }
17 printf("gcd=%d\n", gcd);
18 }
The author says that there's a mistake, and he's right, but it's not the mistake he thinks it is!
In fact, I can see at least 2 mistakes, in such a small piece of code. The author thinks that the problem is input validation - ie what do you do if a zero is entered? Well actually, that's not really a problem - the program will run OK, and simply decide that zero is the GCD. What I'd see as a problem is that the return is in the wrong place - if you're looking for the _greatest_ common divisor, then you'd exit after finding the first occurrence. With largeish numbers, that could save a lot of effort. As it is, the program will find the lowest common divisor, but ignore it as it will be > gcd. In a book about coding style to put in such an awful piece of code is stunning. What about the case of no common divisor (other than 1 - ie the numbers are coprime)? I suppose returning 1 is acceptable - this is only a trivial example, after all.
It should read:
13: if ((low % div==0) && (high %div ==0))
14: return div ;
PS Ignore my formatting as amazon cuts tabs.
Write his code for me and you're fired!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
65 of 70 people found the following review helpful:
1.0 out of 5 stars
Not worth it, 31 Mar 2007
By zepto - Published on Amazon.com
This review is from: Code Craft: The Practice of Writing Excellent Code (Paperback)
After reading the good, despite few, amazon reviews of this book i decided to pick it up. I'm a big fan of books that teach one how to become a better programmer. Unfortunately, i wasn't too impressed by this one. The author didn't seem to have anything super insightful or groundbreaking to share with us. He gave a description of what he considers to be good code/coders along with a really brief description of a lot of software related tools, paradigms, and 'types' of programmers.
Unfortunately he doesn't really say anything that hasn't been said. His code examples are notably poor. In Steve McConnels book, "Code Complete" he criticizes programming books for using fibonacci as an example of recursion. He criticizes it because it's not something that software developers find themselves doing often. I have the same complaint with most of the code examples in this book (so maybe it is good there are so few). It felt like my high school java teacher (who had neither a CS degree or programming experience) wrote up the code samples. You'll quickly be annoyed by the simplicity of the mistakes and concepts that he is trying to express.
As you read this book you'll find things you agree and disagree with, and you'll just want to say OK. you won't run to your computer wanting to implement them. You also won't run to your friends telling them you've found a new way to do something. I guess that is my major problem with this book, there's nothing really special about it. I also found myself wondering 'why is this important?' throughout the book quite a bit.
I found another thing in this book to be insulting, the Good Programmers Bad Programmers section after each chapter. If i didn't know the difference between a good programmer and a bad programmer i wouldn't have bought the book. They are all very similar and obvious.
I would definitely recommend the following books over it:
Code Complete
Refactoring
Pragmatic Programmer
while this book does cover some things these books say, not enough to replace any one of them, and reading any of these will provide insights this book cannot.
19 of 24 people found the following review helpful:
1.0 out of 5 stars
Doesn't read like it was written by an actual software engineer, and has a annoying/insulting tone, 28 July 2007
By A. Chu - Published on Amazon.com
This review is from: Code Craft: The Practice of Writing Excellent Code (Paperback)
I was at the library and this happened to be next to another book that I wanted, so I picked it up too.
And wow, it's rare that I am this disappointed in a book. The content is very thin. It sounds like it was completely gathered from secondary sources, e.g. reading other books about software engineering. It doesn't sound like the result of actual experience.
Every page is filled with platitudes without any examples of real experience backing it up. I'll grant that he has assembled an extraordinarly wide range of *terms* and terminology. It looks like he has tried to shove 3 sentences about every topic in software into a single book. Unfortunately, this ultimately makes for a book with little use.
Another sticking point is the writing style. It comes off like the author is an annoying guy trying to be funny and trying to be your friend. The first sentence irritated me: "What's in it for me? Programming is your passion. It's sad, but it's true."
Huh? Why is it sad that programming is one's passion??? There are similar head-scratchers elsewhere in the book. He also devotes a section to talking about the various types of "code monkeys". And the last type is "You. In the interest of politeness, we'll say no more about this curious beast. Sadly, some people are beyond help..." What? The reader is beyond help? If I pretend for a minute that he's not insulting me, then I still don't know what he's trying to say. This book is incoherent.
And what's with all the reviews below that read like advertisements? Give me a break. It looks like a lot of the author's friends are spamming Amazon's reviews.
I recommend reading Joel Spolsky's books for real, specific insights on programming and the software development process, earned from experience, written in a much clearer and more entertaining style.
I'm also reading Jon Bentley's "Programming Pearls" now.
8 of 9 people found the following review helpful:
5.0 out of 5 stars
A great book for a beginning pragmatic programmer, 8 Dec 2007
By Dmitry Dvoinikov - Published on Amazon.com
This review is from: Code Craft: The Practice of Writing Excellent Code (Paperback)
This one is a very good book. It is essentially a book in natural philosophy, not quite "scientific", coming from observation to show you a little bit of everything. An insight to the entire world of programming if you like.
It goes from bottom up, from coding style through techniques and tools to paradigms and architecture. A lot (A LOT) of things explained, briefly, but perfectly understandable. It lacks any analysis or in-depth discussion, but that is on purpose.
Not that many things for an experienced programmer to learn from this book though. To a point where it is boring. It took me longer to read this book through than many others, because I knew much of it in the first place.
The language of the book, the author really is in for wordplay and puns of all sorts, it's all over the place. And although I do believe that proficiency (and desire to excel) in written language is a sure indication of a great programmer, this is not always to the book's best. It sure doesn't read like a textbook, but that's ok. There were a few really good jokes, but most of it is just wordplay for its own sake. For example,
[quote]
This is the really nasty one - when your program isn't pushing up the daisies, just pining for the fjords.
[/quote]
Look, I know what "pushing up the daisies" mean, and I can deduce the meaning for "pining for the fjords" from the context, but having it written like that doesn't really help.
Like some other reviewer, I also didn't like the "good programmers" vs. "bad programmers" checklists. See, being a good programmer (aren't we all ?), I wouldn't know how bad programmers think, thus any attempt to declare "bad programmers do that" would be at best a guess.
What's really good about this book, is that it goes under a positive "do as I do" key, not a negative "don't do as I say", seen much more frequently. I'd guess that the guy is really keen on what he's doing, and you can feel it in his book.
I was pleased to see that yet another author's word supports my belief in that programming is simply patience, discipline and common sense. Oh, and PRACTICE.
Anyhow, a great book for a beginning pragmatic programmer.
|
|
|