Code - White Space Survey
-
In a project with as many lines of code as mine, extra whitespace probably slows down the build, load, backup and copy etc etc. I say #1 for anything more serious than a hobbyist.
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
Oh great, now every VB programmer out there is going to read your post and take you seriously. :rolleyes: Marc VS2005 Tips & Tricks -- contributions welcome!
-
Same here. 4 for the first, 2 for second. regards, Mircea Many people spend their life going to sleep when they’re not sleepy and waking up while they still are.
4 and 2 here 2
-
With that many lines of code, all the more reasons to make it readable, don't you think? Taking care of one whitespace during compilation is a matter of microseconds, if not nanoseconds. Surely, you'd allow an extra couple of seconds extra per milion lines of code when compiling..?
-- Pictures[^] from my Japan trip.It would be an interesting test to find out, maybe some sort of macro in vs that can get rid of any possible unnecessary whitespace and compare side by side. I comment liberally, but when you're looking at a huge screen full of code it's nice to be able to see it all at once rather than scrolling all over "hell's half acre" to find it. (which, when you think about it adds a *lot* more than a few seconds, probably hours to days over the life of a project)
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
-
Is this some kind of joke Im not getting? Please tell me you are not serious with that... :~
Serious about saving time compiling - no, serious about saving time scrolling all over the place when it could as easily fit on one screen and still be readable - yes. I *do* opt for the most compact code possible. I'm not crazy about it, for example a property has one line for the declaration, one line below for the get and one line below for the set, not all on one line, but not broken out with a single line for a parenthesis {, that's just a waste of visual acuity.
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
-
Oh great, now every VB programmer out there is going to read your post and take you seriously. :rolleyes: Marc VS2005 Tips & Tricks -- contributions welcome!
I bet there *is* some factor there though. My current project has hundreds of thousands of lines of code all pretty compact, but I bet if I put the whole solution through some sort of cruncher to eliminate any possible whitespace and another to format it out in full so called "readable" (I would say the opposite personally, wading through page after page looking for a part of a method when there is a line dedicated to ever parenthesis etc is not my idea of readable) format I bet there would be a noticeable difference loading, backing up, compiling etc etc.
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
-
4 and 2
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
Same as me then. :) Kevin
-
Which style do you use/prefer? 1. if(a==b) 2. if(a == b) 3. if (a==b) 4. if (a == b) I use/prefer 4. But I notice (to my dismay) that 1, 2 and 3 are very common. However, they're not the worst programming sins, i.e., I wouldn't fail a candidate because of them. 1. doIt(a,b,c) 2. doIt(a, b, c) 3. doIt( a, b, c ) 4. doIt (a,b,c) 5. doIt (a, b, c) I use 2, but would prefer to use 5. I don't do so because it's too irregular, whereas 2 is in widespread use and adequately readable. If I were programming in Eiffel I would adopt 5 because, in its context, it's widely used and is the "house style." I used 3 for a while but abandoned it for similar reasons to 5. Kevin
if (a == b) {
doIt(a,b,c);
}and, just to fan the flames, notice the K&R braces ... :laugh:
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
In a project with as many lines of code as mine, extra whitespace probably slows down the build, load, backup and copy etc etc. I say #1 for anything more serious than a hobbyist.
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
Normal amounts of whitespace can't possibly affect compile times or disk space significantly. Of course, you can contrive examples where it does (1K of spaces between each token in a source file, for example). If whitespace improves your ability to read and navigate the code (it does for me), then use it.
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
Which style do you use/prefer? 1. if(a==b) 2. if(a == b) 3. if (a==b) 4. if (a == b) I use/prefer 4. But I notice (to my dismay) that 1, 2 and 3 are very common. However, they're not the worst programming sins, i.e., I wouldn't fail a candidate because of them. 1. doIt(a,b,c) 2. doIt(a, b, c) 3. doIt( a, b, c ) 4. doIt (a,b,c) 5. doIt (a, b, c) I use 2, but would prefer to use 5. I don't do so because it's too irregular, whereas 2 is in widespread use and adequately readable. If I were programming in Eiffel I would adopt 5 because, in its context, it's widely used and is the "house style." I used 3 for a while but abandoned it for similar reasons to 5. Kevin
-
if (a == b) {
doIt(a,b,c);
}and, just to fan the flames, notice the K&R braces ... :laugh:
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
The K & R braces have been discussed in an earlier thread. From my perspective you've combined two of the worst features. But these are religious wars. :) My main point was to discover the distribution of people's preferred styles. Both topics - curly brace placement and white space are relatively minor issues. Some time ago I wrote an essay discussing poor programming practices and I didn't mention these two topics - mainly because they're largely subjective. Kevin
-
5 is what I'd like to use but don't. Well done. You get 100%!:) Kevin
-
5 is what I'd like to use but don't. Well done. You get 100%!:) Kevin
I know the feeling - I work with a (great) bunch of Java heads. :) But before you award me any points, I must confess I too follow K&R bracing/indenting. When reviewing other people's code, I try not to comment on whitespace or indenting. I'm happy as long as their code is readable (and of course correct, extensible and reasonably well performing). /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
-
3 or 4 (no big preference) 1 or 2 (depending on length and complexity of arguments) The only thing i really care about is that [if|for|while] always are followed by a space. They're not functions, and shouldn't look like function calls. Similarly, function names should never be followed by a space - i want to recognize it as a function call immediately.
---- Scripts i've known... CPhog 0.9.9 - make CP better. Forum Bookmark 0.2.1 - bookmark forum posts on Pensieve Print forum 0.1.2 - printer-friendly forums
Shog9 wrote:
The only thing i really care about is that [if|for|while] always are followed by a space. They're not functions, and shouldn't look like function calls. Similarly, function names should never be followed by a space - i want to recognize it as a function call immediately.
I agree. I work with a guy who does the opposite, and I @!#$%#@ hate reading his code. Here's an example:
bool condition;
while(condition)
{
if( functionA ( a, b, c ) )
{
for(int i=1;i<3;i++)
{
// and so on...
}
}
functionB ( c, d, e );
}I don't know which I dislike more, the spacing around the parentheses or the bizarre brace indentation. Admittedly, I use K&R brace style, so I don't like the braces on separate lines anyway, but indenting them as well?
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
The K & R braces have been discussed in an earlier thread. From my perspective you've combined two of the worst features. But these are religious wars. :) My main point was to discover the distribution of people's preferred styles. Both topics - curly brace placement and white space are relatively minor issues. Some time ago I wrote an essay discussing poor programming practices and I didn't mention these two topics - mainly because they're largely subjective. Kevin
Kevin McFarlane wrote:
they're largely subjective
As others have no doubt said, consistency (using one style) is more important than choosing one style over another. The desired end result is to enhance readability of the code.
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
I know the feeling - I work with a (great) bunch of Java heads. :) But before you award me any points, I must confess I too follow K&R bracing/indenting. When reviewing other people's code, I try not to comment on whitespace or indenting. I'm happy as long as their code is readable (and of course correct, extensible and reasonably well performing). /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
Ravi Bhavnani wrote:
I must confess I too follow K&R bracing/indenting
Ego te absolvo, Ravi.
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
Ravi Bhavnani wrote:
I must confess I too follow K&R bracing/indenting
Ego te absolvo, Ravi.
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
-
Which style do you use/prefer? 1. if(a==b) 2. if(a == b) 3. if (a==b) 4. if (a == b) I use/prefer 4. But I notice (to my dismay) that 1, 2 and 3 are very common. However, they're not the worst programming sins, i.e., I wouldn't fail a candidate because of them. 1. doIt(a,b,c) 2. doIt(a, b, c) 3. doIt( a, b, c ) 4. doIt (a,b,c) 5. doIt (a, b, c) I use 2, but would prefer to use 5. I don't do so because it's too irregular, whereas 2 is in widespread use and adequately readable. If I were programming in Eiffel I would adopt 5 because, in its context, it's widely used and is the "house style." I used 3 for a while but abandoned it for similar reasons to 5. Kevin
3 and 2, but I don't put a space after for, just if and while.
-
I know the feeling - I work with a (great) bunch of Java heads. :) But before you award me any points, I must confess I too follow K&R bracing/indenting. When reviewing other people's code, I try not to comment on whitespace or indenting. I'm happy as long as their code is readable (and of course correct, extensible and reasonably well performing). /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
Ravi Bhavnani wrote:
But before you award me any points, I must confess I too follow K&R bracing/indenting.
Yes, it seems to be the Java "house style." My best friend from uni who's also a Java guy uses this style too. Though he also used it in C++.
Ravi Bhavnani wrote:
When reviewing other people's code, I try not to comment on whitespace or indenting.
Yes, I would ignore such issues - so long as there was some indenting. :) Kevin
-
Normal amounts of whitespace can't possibly affect compile times or disk space significantly. Of course, you can contrive examples where it does (1K of spaces between each token in a source file, for example). If whitespace improves your ability to read and navigate the code (it does for me), then use it.
Software Zen:
delete this; // [Fold With Us!](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx)[[^](http://www.codeproject.com/script/profile/whos_who.asp?msg=1307432&id=10338#xx1307432xx "New Window")]
Gary R. Wheeler wrote:
If whitespace improves your ability to read and navigate the code (it does for me), then use it.
Whitespace does improve the ability to read code, but in gratuitous amounts it has quite the opposite affect for me. If I had to contend with this all day:
/// /// RootObjectID /// public Guid RootObjectID { get { return mRootObjectID; } set { mRootObjectID = value; MarkDirty(); } }
I would probably wear out my mouse wheel and go blind trying to find something. This on the other hand:
public Guid RootObjectID {get{return mRootObjectID;} set{mRootObjectID = value;MarkDirty();}}
Requires far less scrolling, is quickly understood or found in bunches and is far easier to search and replace if some re-factoring is required. Maybe it's because I'm a huge reader of novels, I find it quicker to scan a long (but not too long so it goes off screen) line of text than to muddle my way down a bunch of open space. (Damn, cp doesn't seem to be able to keep code formatting no matter what I do, you get the idea though)
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
-
Which style do you use/prefer? 1. if(a==b) 2. if(a == b) 3. if (a==b) 4. if (a == b) I use/prefer 4. But I notice (to my dismay) that 1, 2 and 3 are very common. However, they're not the worst programming sins, i.e., I wouldn't fail a candidate because of them. 1. doIt(a,b,c) 2. doIt(a, b, c) 3. doIt( a, b, c ) 4. doIt (a,b,c) 5. doIt (a, b, c) I use 2, but would prefer to use 5. I don't do so because it's too irregular, whereas 2 is in widespread use and adequately readable. If I were programming in Eiffel I would adopt 5 because, in its context, it's widely used and is the "house style." I used 3 for a while but abandoned it for similar reasons to 5. Kevin
4 and 2. I would prefer to be able to quickly scan my code and be able to easily read it on screen and print-out than save a compiler microseconds. Besdies I find the easier my code is to read the easier it is to see my own stupidity.