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?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Hi, Read and own the first book, I have only browse the second edition. I felt that if I read isolated chapters it states tons of obvious things, like naming conventions and low coupling between procedures. But using all of them together is where the real value is. And that requires more "mature" (for the lack of a better word) programming, and reading and practicing all those little things as suggested by the book will guide you to a more clear thinking. The book is oriented to coding as a profession, it is not for cowboy programmer. It is about you and other people being able to maintain the code, keeping tracing to a minimum. I do think it is a must.:laugh: Jorge Varas. "If you offer a penny for my thoughts, I'll give you my 2 cents... keep the change!"
-
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)"?
Reading your argument about programming languages is like reading a sophomoric argument that the bellybutton is useless because it a circle and not a square. It's logical in a logic 101 kind of way, but none the less your arguments reveals a shallow understanding of why the bellybutton is no longer useful, or in this case how programming structure. Further, your incorrect assumptions and false presumptions bring to light your fallow understanding of programming and your unwillingness to explore, learn, and listen to bedrock concepts of programming languages. In light of all this it becomes more difficult to listen to and take seriously anything you have to say in your advocating of your "english language" programming paradigm. Your advocacy simply doesn't wash in light of your constant miscues...
“Some have an idea that the reason we in this country discard things so readily is because we have so much. The facts are exactly opposite - the reason we have so much is simply because we discard things so readily. We replace the old in return for something that will serve us better.”--Alfred P. Sloan
-
peterchen wrote:
Names longer than 20 characters are as bad as shorter than 8.
What a curious observation! I take it "Peter" (five characters) isn't working out for you then? And "United States of America" (twenty-four characters) will probably not catch on either; but that's okay, we can just say USA instead - whoops! too short! In any case, the study by Gorla, Benander and Benander that (I believe) you cite is difficult to apply to a language like Plain English because they didn't even consider names with spaces in them. Whichmakesalotofdifference, don't you think?
The Grand Negus wrote:
Whichmakesalotofdifference,
In the words of that great observer, Bugs Bunny, "WhaddaMaroon"
“Some have an idea that the reason we in this country discard things so readily is because we have so much. The facts are exactly opposite - the reason we have so much is simply because we discard things so readily. We replace the old in return for something that will serve us better.”--Alfred P. Sloan
-
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 is good, in general. There are some sections where things that are a matter of opinion are presented as Biblical Truth. Mostly it is just common sense stuff.
"Quality Software since 1983!"
http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles. -
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:
S Douglas wrote:
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.
Don't have one readily available. The posting probably doesn't even exist any more. I think a later post was more clear than mine; the author often takes things that are purely opinion and makes them biblical truth. Unfortunately, this means the stuff that really is biblical truth or close to it loses it's prominence. Just be ready to question many of his assertions.
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
The Grand Negus wrote:
Whichmakesalotofdifference
Shouldn't that be
WhichMakesALotOfDifference
? Which, for most of us, is easier to read than what you wrote, highlighting the importance of coding style to maintainability. This in turn brings us back to the book in the topic, which is about style, not language.
Grim
(aka Toby)
MCDBA, MCSD, MCP+SB
SELECT * FROM users WHERE clue IS NOT NULL GO
(0 row(s) affected)
Grimolfr wrote:
Shouldn't that be WhichMakesALotOfDifference? Which, for most of us, is easier to read than what you wrote, highlighting the importance of coding style to maintainability. This in turn brings us back to the book in the topic, which is about style, not language.
Certainly, "WhichMakesALotOfDifference" is easier to read than "Whichmakesalotofdifference". Why? Because the mixed case helps one separate the individual words. But "Which makes a lot of difference" does a better job still. Which brings us back, as you say, to the range of "styles" supported by a given programming language. All three alternatives are available in Plain English; only the first two are supported by traditional languages.
-
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:
Hey, you're fouling up all the hard work we've been doing to keep him on topic and not plug his product. I'm giving his posts in this thread a 5 for staying on topic. And you ought to get hosed for provoking him back to the old ways. Just get over it. :zzz::zzz::zzz:
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good. "itbg_TF" is not meaningful. On the other hand, something like "isBookGood" is meaningful and short enough to not cloud the comprehension of the reader. And remember, the reader is a programmer not a layman. I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
tgrt wrote:
I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
While this one might have been subtly veiled, it was on topic and he didn't mention PE once. But you guys did. Why don't you just give it a rest? :zzz::zzz:
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good. "itbg_TF" is not meaningful. On the other hand, something like "isBookGood" is meaningful and short enough to not cloud the comprehension of the reader. And remember, the reader is a programmer not a layman. I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
tgrt wrote:
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good.
But we have experience both ways; you do not. We've used Plain English (and traditional languages) to produce significant programs (compilers, page editors, etc); you haven't. So we know that what you say is not true: natural language programming does work, and works well with "allot [sic] of code" and with "complex algorithms".
tgrt wrote:
I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
It's a programming site. I'm discussing programming issues with programmers. The fact that our views are broad enough and deep enough to apply to a wide variety of programming topics is a point in their favor. In light of the fact that your inexperience with natural language programming led you to the wrong conclusions above, perhaps you'd do better to quietly consider our views rather than loudly criticize that which you do not understand.
-
tgrt wrote:
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good.
But we have experience both ways; you do not. We've used Plain English (and traditional languages) to produce significant programs (compilers, page editors, etc); you haven't. So we know that what you say is not true: natural language programming does work, and works well with "allot [sic] of code" and with "complex algorithms".
tgrt wrote:
I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
It's a programming site. I'm discussing programming issues with programmers. The fact that our views are broad enough and deep enough to apply to a wide variety of programming topics is a point in their favor. In light of the fact that your inexperience with natural language programming led you to the wrong conclusions above, perhaps you'd do better to quietly consider our views rather than loudly criticize that which you do not understand.
And thank you for staying on topic. Sounds good. I may not agree with the verbosity of the spaced variable name, but the discourse was on topic.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
Reading your argument about programming languages is like reading a sophomoric argument that the bellybutton is useless because it a circle and not a square. It's logical in a logic 101 kind of way, but none the less your arguments reveals a shallow understanding of why the bellybutton is no longer useful, or in this case how programming structure. Further, your incorrect assumptions and false presumptions bring to light your fallow understanding of programming and your unwillingness to explore, learn, and listen to bedrock concepts of programming languages. In light of all this it becomes more difficult to listen to and take seriously anything you have to say in your advocating of your "english language" programming paradigm. Your advocacy simply doesn't wash in light of your constant miscues...
“Some have an idea that the reason we in this country discard things so readily is because we have so much. The facts are exactly opposite - the reason we have so much is simply because we discard things so readily. We replace the old in return for something that will serve us better.”--Alfred P. Sloan
Jerry Hammond wrote:
Some have an idea that the reason we in this country discard things so readily is because we have so much.
Or its because companies keep making disposable products. Sorry, couldn't resist. :laugh:
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
And thank you for staying on topic. Sounds good. I may not agree with the verbosity of the spaced variable name, but the discourse was on topic.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
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.
You should put your PE stuff in your signature. And include:
The Grand Negus wrote:
And, of course, you can always... well, you know.
That would be good.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
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 highly recommend this book. I find it extremely useful for intermed to advanced programmers. The best book on programming I've ever read.
-
Nah I meant verbosity. A shortened var like isBookGood is much more clear than "if this book is good". And that's more verbose. I take the middle road with regard to var names. Just enough to communicate what it is. But enough to communicate what it is. I'm not writing a book.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
tgrt wrote:
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good.
But we have experience both ways; you do not. We've used Plain English (and traditional languages) to produce significant programs (compilers, page editors, etc); you haven't. So we know that what you say is not true: natural language programming does work, and works well with "allot [sic] of code" and with "complex algorithms".
tgrt wrote:
I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
It's a programming site. I'm discussing programming issues with programmers. The fact that our views are broad enough and deep enough to apply to a wide variety of programming topics is a point in their favor. In light of the fact that your inexperience with natural language programming led you to the wrong conclusions above, perhaps you'd do better to quietly consider our views rather than loudly criticize that which you do not understand.
-
tgrt wrote:
I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
While this one might have been subtly veiled, it was on topic and he didn't mention PE once. But you guys did. Why don't you just give it a rest? :zzz::zzz:
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
Chris S Kaiser wrote:
Why don't you just give it a rest?
Why? First, I just picked it up. But, I continually see his posts either leading to if not blatantly talking about his stupid natural language compiler and how it can solve all of the world's problems. We're not talking about a post or two a month. This is a continual, habitual thing.
-
You should put your PE stuff in your signature. And include:
The Grand Negus wrote:
And, of course, you can always... well, you know.
That would be good.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
Chris S Kaiser wrote:
You should put your PE stuff in your signature.
As I've said before, a link labeled "Plain English Programming" in my signature makes every one of my posts, on any and every topic, a free advertisement for our product; and I have been told, in no uncertain terms, that "free advertising" is frowned upon on this site. Besides, it clutters up the posts and makes them harder to read - especially when they're on a different topic. I'd prefer, from a design perspective, if the whole signature feature were removed from the site. I think what people mean when they make this suggestion is "Quiet down. We'll compromise, unofficially, with you. We'll give you a bit of free advertising if you stop discussing the differences, benefits, and opportunities an approach like yours offers." But we didn't come here for "free advertising"; we came here specifically to discuss the differences, benefits, and opportunities that an approach like ours offers.
-
Chris S Kaiser wrote:
Why don't you just give it a rest?
Why? First, I just picked it up. But, I continually see his posts either leading to if not blatantly talking about his stupid natural language compiler and how it can solve all of the world's problems. We're not talking about a post or two a month. This is a continual, habitual thing.
Because in this case it was actually on topic, and he didn't mention it. You did. So you were the problem in this case and not him. You have to reward good behavior if you're gonna complain about the bad behavior. Not provoke continued bad behavior.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
Chris S Kaiser wrote:
You should put your PE stuff in your signature.
As I've said before, a link labeled "Plain English Programming" in my signature makes every one of my posts, on any and every topic, a free advertisement for our product; and I have been told, in no uncertain terms, that "free advertising" is frowned upon on this site. Besides, it clutters up the posts and makes them harder to read - especially when they're on a different topic. I'd prefer, from a design perspective, if the whole signature feature were removed from the site. I think what people mean when they make this suggestion is "Quiet down. We'll compromise, unofficially, with you. We'll give you a bit of free advertising if you stop discussing the differences, benefits, and opportunities an approach like yours offers." But we didn't come here for "free advertising"; we came here specifically to discuss the differences, benefits, and opportunities that an approach like ours offers.
The Grand Negus wrote:
As I've said before, a link labeled "Plain English Programming" in my signature makes every one of my posts, on any and every topic, a free advertisement for our product; and I have been told, in no uncertain terms, that "free advertising" is frowned upon on this site.
You are nitpicking again. Disecting language which really obscures truth. The truth is its allowed in your sig. That is acceptable. Its like seeing it on your shirt. Its when you want to talk about it all the time that it becomes promoting. Spam. In your sig, is perfectly acceptable. To argue this point is to just be difficult. And we aren't making a special case with you. Links in the sig have always been acceptable. You went outside the bounds instead of staying bounds by not having it in your sig, and making every topic about your product. Come on, you can't be that belligerent can you?
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder