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. What is Better Code in Your Opinion?

What is Better Code in Your Opinion?

Scheduled Pinned Locked Moved The Lounge
questioncom
50 Posts 25 Posters 0 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.
  • M Matt Gerrans

    This:

        //If the flag is on then
        if(READBIT(\*pGlobalFlags, uFlag))
        {
                //Value is set to on
                bstrValue = "ON";
        }
        else
        {
                //Value is set to off
                bstrValue = "OFF";
        }
    

    Or this:

    bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

    :confused:

    Matt Gerrans

    J Offline
    J Offline
    Jorgen Sigvardsson
    wrote on last edited by
    #10

    In my opinion, the latter. Conveys the same meaning as the former snippet, but with a whole lot less verbosity.

    -- Made From Meat By-Products

    1 Reply Last reply
    0
    • C Clickok

      I started to think about, but I have noticed what is a programming question in the Lounge, then my opinion goes to soapbox... Ok, ok I'm lazy about select another forum... Here goes: The first option is better. Why? The code is easy to maintain. If I wish add some task if is true (by example), I can do this:

      //If the flag is on then
      if(READBIT(*pGlobalFlags, uFlag))
      {
      //Value is set to on
      bstrValue = "ON";
      // another task here
      MyAnotherTaskFunction();

      }
      else
      {
      //Value is set to off
      bstrValue = "OFF";
      }

      Notice what I just added 1 line of code, and in your another style I will need create the supressed if construct. Just my 2 cents Regards


      For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

      M Offline
      M Offline
      Matt Gerrans
      wrote on last edited by
      #11

      This wasn't really a programming question per se, but a programming aesthetics question, otherwise I would not have posed it here. What you are suggesting there is a nasty form of premature optimization[^] or Premature Generalization[^]. Are you saying you should write the most verbose slop possible, so that it might be easier to insert more stuff into it later? YAGNI[^]!

      Matt Gerrans

      C 1 Reply Last reply
      0
      • L Lost User

        // Return 'ON' or 'OFF' for the flag bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF"; No need for either extreme.

        The tigress is here :-D

        M Offline
        M Offline
        Matt Gerrans
        wrote on last edited by
        #12

        But your comment is wrong! ;P (which cements a comment by someone else in this thread. Marc, I think it was).

        Matt Gerrans

        1 Reply Last reply
        0
        • M Matt Gerrans

          This:

              //If the flag is on then
              if(READBIT(\*pGlobalFlags, uFlag))
              {
                      //Value is set to on
                      bstrValue = "ON";
              }
              else
              {
                      //Value is set to off
                      bstrValue = "OFF";
              }
          

          Or this:

          bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

          :confused:

          Matt Gerrans

          J Offline
          J Offline
          Jerry Hammond
          wrote on last edited by
          #13

          What happened to if(IsLounge) { Label1.Text="No Programming Questions"; } elseif { Label1.Text="Ask in appropriate forum"; }

          A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

          D M B P 4 Replies Last reply
          0
          • M Matt Gerrans

            This:

                //If the flag is on then
                if(READBIT(\*pGlobalFlags, uFlag))
                {
                        //Value is set to on
                        bstrValue = "ON";
                }
                else
                {
                        //Value is set to off
                        bstrValue = "OFF";
                }
            

            Or this:

            bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

            :confused:

            Matt Gerrans

            A Offline
            A Offline
            Anton Afanasyev
            wrote on last edited by
            #14

            You're all wrong. The correct answer depends on how you're getting paid - by the number of lines written(then the first), or by the functionality implemented (then the second). Yup, thats it;)


            :badger:

            W 1 Reply Last reply
            0
            • J Jerry Hammond

              What happened to if(IsLounge) { Label1.Text="No Programming Questions"; } elseif { Label1.Text="Ask in appropriate forum"; }

              A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

              D Offline
              D Offline
              DavidNohejl
              wrote on last edited by
              #15

              :P It's style question. People usually get away with it. IMO its equal to "Do you like code red or pitr-cola more?" kind of question.


              "Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus

              M E 2 Replies Last reply
              0
              • D DavidNohejl

                :P It's style question. People usually get away with it. IMO its equal to "Do you like code red or pitr-cola more?" kind of question.


                "Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus

                M Offline
                M Offline
                Matt Gerrans
                wrote on last edited by
                #16

                No, it is an aesthetics question! What programmer has style? ;)

                Matt Gerrans

                D 1 Reply Last reply
                0
                • J Jerry Hammond

                  What happened to if(IsLounge) { Label1.Text="No Programming Questions"; } elseif { Label1.Text="Ask in appropriate forum"; }

                  A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

                  M Offline
                  M Offline
                  Matt Gerrans
                  wrote on last edited by
                  #17

                  That's just plain wrong (and I'm not just talking about the superfluous curlies) -- I already pointed out that this is not about programming, per se. I guess some people can't tell the difference between a question and a metaquestion. ;P

                  Matt Gerrans

                  C J 2 Replies Last reply
                  0
                  • C Clickok

                    I started to think about, but I have noticed what is a programming question in the Lounge, then my opinion goes to soapbox... Ok, ok I'm lazy about select another forum... Here goes: The first option is better. Why? The code is easy to maintain. If I wish add some task if is true (by example), I can do this:

                    //If the flag is on then
                    if(READBIT(*pGlobalFlags, uFlag))
                    {
                    //Value is set to on
                    bstrValue = "ON";
                    // another task here
                    MyAnotherTaskFunction();

                    }
                    else
                    {
                    //Value is set to off
                    bstrValue = "OFF";
                    }

                    Notice what I just added 1 line of code, and in your another style I will need create the supressed if construct. Just my 2 cents Regards


                    For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                    D Offline
                    D Offline
                    DavidNohejl
                    wrote on last edited by
                    #18

                    Personally, I would do it like this, kinda taking best of both options (IMO).

                    // getting string value from flag
                    strValue = (READBIT(*pGlobalFlags, uFlag))?"ON":"OFF";

                    // do different stuff depending on value of strValue
                    if(strValue == "ON")
                    {
                    MyTaskFunction();
                    }
                    else
                    {
                    MyAnotherTaskFunction();
                    }


                    "Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus

                    T 1 Reply Last reply
                    0
                    • C Clickok

                      I started to think about, but I have noticed what is a programming question in the Lounge, then my opinion goes to soapbox... Ok, ok I'm lazy about select another forum... Here goes: The first option is better. Why? The code is easy to maintain. If I wish add some task if is true (by example), I can do this:

                      //If the flag is on then
                      if(READBIT(*pGlobalFlags, uFlag))
                      {
                      //Value is set to on
                      bstrValue = "ON";
                      // another task here
                      MyAnotherTaskFunction();

                      }
                      else
                      {
                      //Value is set to off
                      bstrValue = "OFF";
                      }

                      Notice what I just added 1 line of code, and in your another style I will need create the supressed if construct. Just my 2 cents Regards


                      For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                      S Offline
                      S Offline
                      Shog9 0
                      wrote on last edited by
                      #19

                      Clickok wrote:

                      Notice what I just added 1 line of code, and in your another style I will need create the supressed if construct.

                      Yeah, but then you'll have your new line of code to focus on, and won't be as tempted to add useless comments to the code you're modifying...

                      1 Reply Last reply
                      0
                      • M Matt Gerrans

                        This wasn't really a programming question per se, but a programming aesthetics question, otherwise I would not have posed it here. What you are suggesting there is a nasty form of premature optimization[^] or Premature Generalization[^]. Are you saying you should write the most verbose slop possible, so that it might be easier to insert more stuff into it later? YAGNI[^]!

                        Matt Gerrans

                        C Offline
                        C Offline
                        Clickok
                        wrote on last edited by
                        #20

                        Matt Gerrans wrote:

                        This wasn't really a programming question per se, but a programming aesthetics question,

                        Just kidding with you ;)

                        Matt Gerrans wrote:

                        Are you saying you should write the most verbose slop possible

                        Not, I'm not saying this. I'm saying what I write code what...

                        Matt Gerrans wrote:

                        ...might be easier to insert more stuff into it later

                        The comments what you added really are not necessary, because of the code is self-explanatory. But if I can code some snippet what later will be more easy to customize (like never hard-code strings, if possible declarate variables in beginning of procedures, etc), I will do. It's my habit. And really really turn the things more easy to me :)


                        For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                        1 Reply Last reply
                        0
                        • M Matt Gerrans

                          No, it is an aesthetics question! What programmer has style? ;)

                          Matt Gerrans

                          D Offline
                          D Offline
                          DavidNohejl
                          wrote on last edited by
                          #21

                          OK my bad. What about

                                bstrValue
                               =
                          

                          READBIT
                          (
                          *pGlobalFlags, uFlag
                          )
                          ?
                          "ON"
                          :
                          "OFF";

                          :rolleyes:


                          "Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus

                          M 1 Reply Last reply
                          0
                          • M Matt Gerrans

                            This:

                                //If the flag is on then
                                if(READBIT(\*pGlobalFlags, uFlag))
                                {
                                        //Value is set to on
                                        bstrValue = "ON";
                                }
                                else
                                {
                                        //Value is set to off
                                        bstrValue = "OFF";
                                }
                            

                            Or this:

                            bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

                            :confused:

                            Matt Gerrans

                            P Offline
                            P Offline
                            Paul Conrad
                            wrote on last edited by
                            #22

                            I generally go with the first if I have more than one statement per condition.


                            Some people have a memory and an attention span, you should try them out one day. - Jeremy Falcon

                            1 Reply Last reply
                            0
                            • M Matt Gerrans

                              That's just plain wrong (and I'm not just talking about the superfluous curlies) -- I already pointed out that this is not about programming, per se. I guess some people can't tell the difference between a question and a metaquestion. ;P

                              Matt Gerrans

                              C Offline
                              C Offline
                              Clickok
                              wrote on last edited by
                              #23

                              Matt Gerrans wrote:

                              some people can't tell the difference between a question and a metaquestion.

                              Ha! metaquestion is very good! Do you accept metareplies too? :laugh::laugh::laugh:


                              For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:

                              P 1 Reply Last reply
                              0
                              • M Matt Gerrans

                                That's just plain wrong (and I'm not just talking about the superfluous curlies) -- I already pointed out that this is not about programming, per se. I guess some people can't tell the difference between a question and a metaquestion. ;P

                                Matt Gerrans

                                J Offline
                                J Offline
                                Jerry Hammond
                                wrote on last edited by
                                #24

                                Rules: The Lounge is rated PG. If you're about to post something you wouldn't want your kid sister to read then don't post it. Do not post programming questions (use the programming forums for that) and please don't post ads. So sorry, you get it, no.

                                A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

                                M 1 Reply Last reply
                                0
                                • J Jerry Hammond

                                  What happened to if(IsLounge) { Label1.Text="No Programming Questions"; } elseif { Label1.Text="Ask in appropriate forum"; }

                                  A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

                                  B Offline
                                  B Offline
                                  Bradml
                                  wrote on last edited by
                                  #25

                                  Jerry Hammond wrote:

                                  elseif

                                  Should this not be "else"?


                                  Brad Australian By contacting your lawyer you negate the right to sue me.

                                  D 1 Reply Last reply
                                  0
                                  • M Matt Gerrans

                                    This:

                                        //If the flag is on then
                                        if(READBIT(\*pGlobalFlags, uFlag))
                                        {
                                                //Value is set to on
                                                bstrValue = "ON";
                                        }
                                        else
                                        {
                                                //Value is set to off
                                                bstrValue = "OFF";
                                        }
                                    

                                    Or this:

                                    bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

                                    :confused:

                                    Matt Gerrans

                                    J Offline
                                    J Offline
                                    Jasmine2501
                                    wrote on last edited by
                                    #26

                                    They are both the same. The first one has extraneous comments though. The code clearly says it's being set to "OFF or "ON"... why say the same thing in a comment?

                                    "Quality Software since 1983!"
                                    http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!

                                    1 Reply Last reply
                                    0
                                    • D DavidNohejl

                                      OK my bad. What about

                                            bstrValue
                                           =
                                      

                                      READBIT
                                      (
                                      *pGlobalFlags, uFlag
                                      )
                                      ?
                                      "ON"
                                      :
                                      "OFF";

                                      :rolleyes:


                                      "Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus

                                      M Offline
                                      M Offline
                                      Matt Gerrans
                                      wrote on last edited by
                                      #27

                                      I've seen "production code" that looks a lot like that. X|

                                      Matt Gerrans

                                      1 Reply Last reply
                                      0
                                      • J Jerry Hammond

                                        Rules: The Lounge is rated PG. If you're about to post something you wouldn't want your kid sister to read then don't post it. Do not post programming questions (use the programming forums for that) and please don't post ads. So sorry, you get it, no.

                                        A room without books is like a body without a soul. - Cicero (106 BC - 43 AD)

                                        M Offline
                                        M Offline
                                        Matt Gerrans
                                        wrote on last edited by
                                        #28

                                        I'm not sure I understand your broken sentence rightly, but it sounds like you don't understand the difference between "a programming question" and "a question about programming practice." A programming question would be something like "how do you code the travelling salesman algorithm in Plain English?" * * and the answer would be a lot of dodging about without actually answering the question! :)

                                        Matt Gerrans

                                        J W 2 Replies Last reply
                                        0
                                        • M Matt Gerrans

                                          This:

                                              //If the flag is on then
                                              if(READBIT(\*pGlobalFlags, uFlag))
                                              {
                                                      //Value is set to on
                                                      bstrValue = "ON";
                                              }
                                              else
                                              {
                                                      //Value is set to off
                                                      bstrValue = "OFF";
                                              }
                                          

                                          Or this:

                                          bstrValue = READBIT(*pGlobalFlags, uFlag) ? "ON" : "OFF";

                                          :confused:

                                          Matt Gerrans

                                          A Offline
                                          A Offline
                                          Andy Brummer
                                          wrote on last edited by
                                          #29

                                          For a simple condition like that the later. The only bad part of the first approach are the comments, though I would type the second if I was doing it myself, I wouldn't really care when reading it. I hope that is a CComBSTR or some wrapper like that, or the style isn't going to make much difference.

                                          The pig go. Go is to the fountain. The pig put foot. Grunt. Foot in what? ketchup. The dove fly. Fly is in sky. The dove drop something. The something on the pig. The pig disgusting. The pig rattle. Rattle with dove. The dove angry. The pig leave. The dove produce. Produce is chicken wing. With wing bark. No Quack. - Thedailywtf.com

                                          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