Code Complete, Second Edition
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I read the first edition, and it's indeed good. I've heard the second is even better. Rama is something of an evangelist for CC 2nd ed on CP. :)
Cheers, Vikram.
"Life isn't fair, and the world is full of unscrupulous characters. There are things worth fighting for, killing for and dying for, but it's a really small list. Chalk it up to experience, let it go, and move on to the next positive experience in your life." - Christopher Duncan.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
It's an excellent book, although a long one. If you’ve worked in the industry for a while it amazing how many times you find yourself reading a section from it and thinking “I’ve seen that before” or “I can see the sense in that”, or something along those lines.
Steve
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I detest it. I found it very pompous and dogmatic with the few good concepts hidden amongst some really bad ideas and generalizations. As I've said in past critiques of the book, I still say read it through with a skeptical eye then toss it in the trash.
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I've read the First Edition, and own the Second Edition. Both of them are excellent resources and go in to much more than just things like naming conventions. The Second Edition is good because it references some of the more "modern" languages, like C#. I've seen Pragmatic Programmer, but have never actually read it so I can't give an opinion on it. Another good resource if you are dealing primarily with .NET (C# and VB.NET) is the Framework Design Guidelines. Even if you are a C++ programmer, a lot of the guidelines still apply...you just have to filter out the things that are .NET specific.
----------------------------- In just two days, tomorrow will be yesterday.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See Sharp wrote:
I know there are things like naming your booleans descriptively like isThisBookGood... instead of itbg_TF.
Why on earth would anyone want to name a boolean "isThisBookGood" instead of "itbg_TF"? The next thing you know they'll be wanting to say things like "If the book is good..." - spaces and all!
-
Captain See Sharp wrote:
I know there are things like naming your booleans descriptively like isThisBookGood... instead of itbg_TF.
Why on earth would anyone want to name a boolean "isThisBookGood" instead of "itbg_TF"? The next thing you know they'll be wanting to say things like "If the book is good..." - spaces and all!
Assuming you're not being sarcastic (I'm assumimg you are being sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least. Assuming you are being sarcastic, I don’t think your point is valid. The equation “a=pi*r^2” is just as rigid as if “area=pi*radius^2” was used. The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.
Steve
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I liked Code Complete 2nd Edition as a general guide it is not a bad investment. I would be interested in your take on The Pragmatic Programmer if you indeed buy it. They have a book on Unit Testing for C# that I wanted to take a look at. We are moving towards Scrum and XP at work and I need an office reference on unit testing but have yet to find one.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
Assuming you're not being sarcastic (I'm assumimg you are being sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least. Assuming you are being sarcastic, I don’t think your point is valid. The equation “a=pi*r^2” is just as rigid as if “area=pi*radius^2” was used. The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.
Steve
Stephen Hewitt wrote:
Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.
Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
-
Stephen Hewitt wrote:
Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.
Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
I've edited and added to my OP since you wrote this reply.
Steve
-
Stephen Hewitt wrote:
Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.
Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Again trying to plug "Plain English Programming" :zzz:
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See Sharp wrote:
I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?
Try this little book: "Programming Pearls" by Jon Louis Bentley. But do as he says, not as he does. You might also try "Project Oberon - The Design of an Operating System and Compiler" by N. Wirth and J. Gutknecht which is available free as a PDF here[^]. And, of course, you can always... well, you know.
-
Captain See Sharp wrote:
I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?
Try this little book: "Programming Pearls" by Jon Louis Bentley. But do as he says, not as he does. You might also try "Project Oberon - The Design of an Operating System and Compiler" by N. Wirth and J. Gutknecht which is available free as a PDF here[^]. And, of course, you can always... well, you know.
The Grand Negus wrote:
And, of course, you can always... well, you know.
Is that your signature?:rolleyes:
-
I've edited and added to my OP since you wrote this reply.
Steve
Stephen Hewitt wrote:
The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.
Agreed. But we shouldn't have to be more formal than necessary, or less descriptive than we can be - ever. And if our goal is to produce an artificial intelligence, we will probably find it easier to work in a language that is about as formal and about as rigid as the machine we're trying to program - no more and no less. But why limit ourselves? This statement, for example, is perfectly reasonable in a natural language framework: If the book is good, put sqrt(sqr(length)+sqr(width)) into the book's diagonal. Here, the thought is expressed in natural terms except where a more specialized syntax makes the job "easier". In other words, it's a trivial matter to include rigid, formal syntax within a natural language framework; the reverse is much more difficult to accomplish.
-
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Again trying to plug "Plain English Programming" :zzz:
Pravarakhya wrote:
Again trying to plug "Plain English Programming"
Actually, I'm asking what makes "isBookGood" better than "itbg_TF", and whether or not those same virtues can be used to evaluate procedural code as well as data definition code. If the virtues in question can be delineated and apply in both circumstances, that would appear to be a point in favor of a natural language approach to programming; otherwise, it would be a point against it.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See Sharp wrote:
I'm thinking about buying the book Code Complete, Second Edition.
So you should, it's come up a lot here of late.
Captain See Sharp wrote:
How many of you have actually read it
A lot, I'd hope.
Captain See Sharp wrote:
how good was it
I wish I'd read it sooner. As it was, it verbalised a lot of stuff I already was doing, but was still an excellent read. If I ever hire anyone, I'll buy each new hire a copy.
Captain See Sharp wrote:
I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that
A lot more. The bit on writing short methods and refactoring is worth the price of admission alone.
Captain See Sharp wrote:
I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?
Buy it. The worst that can happen is what happened to me, you'll be forced to think about things you've just been doing intuitively ( I'm not suggesting I learned nothing, just that a lot of stuff I read, I had learned from experience, but often not really thought about so much )
Captain See Sharp wrote:
Is The Pragmatic Programmer: From Journeyman to Master good also?
I've not read it, it could be.
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
Stephen Hewitt wrote:
Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.
Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
I detest it. I found it very pompous and dogmatic with the few good concepts hidden amongst some really bad ideas and generalizations. As I've said in past critiques of the book, I still say read it through with a skeptical eye then toss it in the trash.
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
Joe Woodbury wrote:
I found it very pompous and dogmatic
Don't hold back, tell us how you really fell. :)
Joe Woodbury wrote:
As I've said in past critiques of the book,
Link? I would be interested in your take on it, I believe yours is about the only voice of dissension when it comes to Code Complete.
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley: