Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Brace style

Brace style

Scheduled Pinned Locked Moved The Lounge
comquestion
140 Posts 69 Posters 11 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N N a v a n e e t h

    Which one you prefer ?

    if{
    //do something
    }

    Or

    if
    {
    //do something
    }


    printf("Navaneeth!!") www.w3hearts.com

    T Offline
    T Offline
    tomasorti
    wrote on last edited by
    #123

    Well, it depends on the context, code, tool used, etc... Sometimes one can be more suitable than the other. For example, when functions are larger than a page, if you position in the closing brace, (X)Emacs helps you and prints in the minibuffer the matched opening brace. If you use the former (e.g.: if (x == 0) { ) it is helpful. I'm sure you can find pros and cons for both. Just my 2 cents, Tomas

    1 Reply Last reply
    0
    • N N a v a n e e t h

      Which one you prefer ?

      if{
      //do something
      }

      Or

      if
      {
      //do something
      }


      printf("Navaneeth!!") www.w3hearts.com

      N Offline
      N Offline
      nilotic
      wrote on last edited by
      #124

      it doesn't really matter UNLESS you're nesting loops like a madman. My first script (almost 900 lines) had about 16 nested loops (ie. 16 deep !) and it obviously hurt like hell trying to debug it. I just wrote it without any planning or consideration for separating tasks into modules or even routines. Looking back, I am amazed I wasn't quietly assassinated by the programmer who had to check it over when I began running it at work, on the live system. Anyway, I converted to the latter style (braces on new lines) because it gave me that little bit of help seeing the blocks/scopes. modern IDE's have a beautify option so it doesn't matter anymore. Wish I'd known that back then. I'm considering starting a thread about 'my first script..was shocking' because it does get funnier the more I think about it.....but I can't find the option to 'start a new thread'. Do I just 'reply' but change the subject field?

      'All there really is, is: virtue and vice' ...Black Crowes

      1 Reply Last reply
      0
      • N N a v a n e e t h

        Which one you prefer ?

        if{
        //do something
        }

        Or

        if
        {
        //do something
        }


        printf("Navaneeth!!") www.w3hearts.com

        E Offline
        E Offline
        Ed K
        wrote on last edited by
        #125

        Prefer the latter and require them. Too many bugs find their way into the code without.

        ed ~"Watch your thoughts; they become your words. Watch your words they become your actions. Watch your actions; they become your habits. Watch your habits; they become your character. Watch your character; it becomes your destiny." -Frank Outlaw.

        1 Reply Last reply
        0
        • N N a v a n e e t h

          Which one you prefer ?

          if{
          //do something
          }

          Or

          if
          {
          //do something
          }


          printf("Navaneeth!!") www.w3hearts.com

          S Offline
          S Offline
          SouthRoss
          wrote on last edited by
          #126

          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

          1 Reply Last reply
          0
          • D Dario Solera

            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

            V Offline
            V Offline
            Vikram A Punathambekar
            wrote on last edited by
            #127

            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

            D 1 Reply Last reply
            0
            • V Vikram A Punathambekar

              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

              D Offline
              D Offline
              Dario Solera
              wrote on last edited by
              #128

              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

              V 1 Reply Last reply
              0
              • A Al Chambers

                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? :-)

                J Offline
                J Offline
                JMOdom
                wrote on last edited by
                #129

                I have seen one classmate of mine type code in the following manner: if (something){do_something();} Its ok i suppose if it isn't to long. ;P

                1 Reply Last reply
                0
                • D Dario Solera

                  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

                  V Offline
                  V Offline
                  Vikram A Punathambekar
                  wrote on last edited by
                  #130

                  :laugh: I suppose I should have included the 'joke' marker. ;)

                  Cheers, Vıkram.


                  Déjà moo - The feeling that you've seen this bull before. Join the CP group at NationStates. Password: byalmightybob

                  1 Reply Last reply
                  0
                  • J John R Shaw

                    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

                    C Offline
                    C Offline
                    Craig Atwood
                    wrote on last edited by
                    #131

                    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

                    J 1 Reply Last reply
                    0
                    • G grgran

                      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 one

                      Of 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

                      C Offline
                      C Offline
                      Craig Atwood
                      wrote on last edited by
                      #132

                      BLASPHEMY!!!!:omg: indenting the closing brace *-Shudder-* u r a Patagh

                      G 1 Reply Last reply
                      0
                      • D Dan Neely

                        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

                        G Offline
                        G Offline
                        grgran
                        wrote on last edited by
                        #133

                        Don't you mean a foam clue-batleth LOL

                        1 Reply Last reply
                        0
                        • C Craig Atwood

                          BLASPHEMY!!!!:omg: indenting the closing brace *-Shudder-* u r a Patagh

                          G Offline
                          G Offline
                          grgran
                          wrote on last edited by
                          #134

                          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.

                          C 1 Reply Last reply
                          0
                          • R R_L_H

                            [Message Deleted]

                            U Offline
                            U Offline
                            urbane tiger
                            wrote on last edited by
                            #135

                            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

                            1 Reply Last reply
                            0
                            • G grgran

                              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.

                              C Offline
                              C Offline
                              Craig Atwood
                              wrote on last edited by
                              #136

                              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.

                              G 1 Reply Last reply
                              0
                              • C Craig Atwood

                                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.

                                G Offline
                                G Offline
                                grgran
                                wrote on last edited by
                                #137

                                Don't make me say something about yo momma ;-) :-D

                                1 Reply Last reply
                                0
                                • C Craig Atwood

                                  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

                                  J Offline
                                  J Offline
                                  John R Shaw
                                  wrote on last edited by
                                  #138

                                  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

                                  C 1 Reply Last reply
                                  0
                                  • J John R Shaw

                                    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

                                    C Offline
                                    C Offline
                                    Craig Atwood
                                    wrote on last edited by
                                    #139

                                    I didnt know that it did that with class objects thanx very usefull

                                    1 Reply Last reply
                                    0
                                    • J JimAtImpac

                                      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

                                      S Offline
                                      S Offline
                                      SimonRigby
                                      wrote on last edited by
                                      #140

                                      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.

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups