Brace style
-
Which one you prefer ?
if{
//do something
}Or
if
{
//do something
}
printf("Navaneeth!!") www.w3hearts.com
Gotta say, I prefer the latter for two reasons 1.)because I can place the cursor next to one brace and find the matching one just by using the up/down arows on my keyboard. works with any text file editor, syntax aware or not (even notepad) 2.) there are occasions where want to remove the condition but keep the code block eg // if (condition) { // do something } Easy to achieve either way of course, but just that little bit easier the second way (because you only need to "play" with one line. Having said that, the company I work for uses the first method, so I'm pretty much stuck with it. After the first 5 minutes using a particular style professionals will get used to it. If someones skills are that shaky that "weird" braces cause them to melt down, they'd probably want to be brushing up on those software engineering 101 skills...:laugh: Karl
-
The real problem with braces is not the style itself, but different styles in the same project, or even file. Most IDEs can reformat the code, but that way there are a few problems with source control... BTW, I prefer this:
if(true) {
// Blah
}If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Blog - My Photos - ScrewTurn Wiki
Dario Solera wrote:
The real problem with braces is not the style itself, but different styles in the same project, or even file.
There was this guy I knew.... :^)
Dario Solera wrote:
BTW, I prefer this: if(true) { // Blah }
You have disappointed me. Prepare to die....
Cheers, Vıkram.
Déjà moo - The feeling that you've seen this bull before. Join the CP group at NationStates. Password:
byalmightybob
-
Dario Solera wrote:
The real problem with braces is not the style itself, but different styles in the same project, or even file.
There was this guy I knew.... :^)
Dario Solera wrote:
BTW, I prefer this: if(true) { // Blah }
You have disappointed me. Prepare to die....
Cheers, Vıkram.
Déjà moo - The feeling that you've seen this bull before. Join the CP group at NationStates. Password:
byalmightybob
Vikram A Punathambekar wrote:
You have disappointed me.
:zzz:
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Blog - My Photos - ScrewTurn Wiki
-
My favourite (probably) apocryphal story on this point is that K&R used their style for no other reason that to save space (and thus publishing costs) in their book. I sooo want this to be true. What about this one: if (something) { do_something(); } While we're at it... Tabs or spaces? :-)
-
Vikram A Punathambekar wrote:
You have disappointed me.
:zzz:
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Blog - My Photos - ScrewTurn Wiki
-
The space is not big deal, but I like consistency and placing that space suggests to me that a space should be place before every ‘(‘ character. When I started programming (in C) using ‘++i’ as apposed to ‘i++’ was a very minor optimization, as the compilers did not do the optimization for you. In C it was not really that important, even when the machines where slow, but is C++ it can make a big difference. As you noted “Most of the time it makes no difference”, but if you make it a habit and teach others to do the same thing, which most books do now, then they are learning the wrong thing. Even Bjarne Stroustrup uses ‘++i’ instead of ‘i++’ although I have never read a statement by him as to why he does that. But other experts on the language have explained it in detail.
INTP "Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
as far as if() with or without a space in between i dont care but the difference between "i++" and "++i" is... i++ = returns the value of 'i' before it was incremented ++i = returns the value of 'i' after it was incremented e.g
int i = 1;
if(++i == 2)
{
thisWillWork();
}
//
//OR
//
int i = 1;
if(i++ == 2)
{
thisWontWork();
}This is what the operators do and you can use them bassed on what you need your code to do. if you use them correctly you can end up saving a few lines of code:cool: ps. as to my brace style brace on next line = more readable thats my vote
-
God of course intended that there be only one bracing style. All other expose one as a programmer who has fallen from the path. The pattern for an 'if' is as follows:
if (conditional) { // waste not, want not: don't waste vertical space
statement(s) // note the indention, this clearly identifies these statements as
// belonging to the if
} // note the indention again, this closes the if logic, it is the
// end of the existing block, not the beginning of a new oneOf course heritics abound, but my place in "code vault store" is assured (ya have to be a fan of STTNG Klingon afterlife to get that one). Go forth and spread the glad tiding and good bracings and do not hesitate to cntl-K cntl-D the code of the unbelievers. ;):laugh: Brace Zealot -- modified at 11:16 Thursday 17th May, 2007
BLASPHEMY!!!!:omg: indenting the closing brace *-Shudder-* u r a Patagh
-
grgran wrote:
Of course heritics abound, but my place in "code vault store"
Brandishes steel cored foam cluebat. *BIFFF* *BIFFF* *BIFFF* *BIFFF* *BIFFF* *BIFFF* *BIFFF* *BIFFF*
-- You have to explain to them [VB coders] what you mean by "typed". their first response is likely to be something like, "Of course my code is typed. Do you think i magically project it onto the screen with the power of my mind?" --- John Simmons / outlaw programmer
-
BLASPHEMY!!!!:omg: indenting the closing brace *-Shudder-* u r a Patagh
-
what about delegates, how do folks brace those? On other things I use brace-on-line, unless I put content on same line eg - case Monday : { DoWork(); break; }. Before I started using IDE's I always used K&R style, but tubes were smaller then, so whether it's IDE's or screen size I dunno,: sigh: could be age philD
-
Do not fear brother. One day you shall be brought into light, cleansed and purified. Then you can find the true joy known only by those who indent our closing braces. Convert now and do not risk an afterlife protected by Fek'lhr.
MORE BLASPHEMY!!! the true if is as follows
if(condition)
{
doStuff();
}
else
{
doSomethingElse();
}Your Brace style bears the identifiable stench of a Vagabond Romulan coder, May Fek'lhr forgive your dishonour.
-
MORE BLASPHEMY!!! the true if is as follows
if(condition)
{
doStuff();
}
else
{
doSomethingElse();
}Your Brace style bears the identifiable stench of a Vagabond Romulan coder, May Fek'lhr forgive your dishonour.
-
as far as if() with or without a space in between i dont care but the difference between "i++" and "++i" is... i++ = returns the value of 'i' before it was incremented ++i = returns the value of 'i' after it was incremented e.g
int i = 1;
if(++i == 2)
{
thisWillWork();
}
//
//OR
//
int i = 1;
if(i++ == 2)
{
thisWontWork();
}This is what the operators do and you can use them bassed on what you need your code to do. if you use them correctly you can end up saving a few lines of code:cool: ps. as to my brace style brace on next line = more readable thats my vote
I have been away, but that is not the only difference in C++. For integral types (int, etc…) they can be optimized by the compiler (no function call occurring). When working with class objects it requires a copy of the original to be made, then an increment of the original, and then a return of a temporary object (another copy). That can be a lot of processing for a simple increment and therefore using ‘i++’ instead of ‘++i’ is a bad habit that should be avoided. Note: A non-optimizing C compiler would go through the same steps, but the temporary and return value where usually in the same register, and therefore copying was minimal. P.S. Look it up in puzzle books and other books on optimizing. Or just write a class that requires memory allocation and supports the ‘++’ operator in both pre and post forms and you will see the possible problems.
INTP "Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
-
I have been away, but that is not the only difference in C++. For integral types (int, etc…) they can be optimized by the compiler (no function call occurring). When working with class objects it requires a copy of the original to be made, then an increment of the original, and then a return of a temporary object (another copy). That can be a lot of processing for a simple increment and therefore using ‘i++’ instead of ‘++i’ is a bad habit that should be avoided. Note: A non-optimizing C compiler would go through the same steps, but the temporary and return value where usually in the same register, and therefore copying was minimal. P.S. Look it up in puzzle books and other books on optimizing. Or just write a class that requires memory allocation and supports the ‘++’ operator in both pre and post forms and you will see the possible problems.
INTP "Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
I didnt know that it did that with class objects thanx very usefull
-
I prefer the former, but VS 2005 forces me to use the latter. Everyone in my company uses VS 2005 so I have to use the same style to be consistent. Jim
VS2005 doesn't force you. That can be changed in options. However, house style is of course a different matter :)
The only thing unpredictable about me is just how predictable I'm going to be.