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. Style is a subtle thing...

Style is a subtle thing...

Scheduled Pinned Locked Moved The Lounge
questioncsharpc++comcollaboration
37 Posts 29 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.
  • N Nemanja Trifunovic

    A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

    *(*(*(p_member).p_member).p_member).member

    and the other guy said "WTF" and changed it to something like:

    p_member->p_member->p_member->member

    and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

    Programming Blog utf8-cpp

    E Offline
    E Offline
    Ed Leighton Dick
    wrote on last edited by
    #27

    Not to be petty, but both of them need to grow up. They need to realize that personal styles have only a small place in IT development, and the larger the shop, the smaller the room for a personal style. In many cases, if it works, it's right, regardless of whether it looks good or not. Person #2 shouldn't have made the change, but person #1 shouldn't have been offended that someone else changed "his" code.

    1 Reply Last reply
    0
    • N Nish Nishant

      5. This is the best answer here. :thumbsup:

      Regards, Nish


      Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
      My latest book : C++/CLI in Action / Amazon.com link

      N Offline
      N Offline
      Nemanja Trifunovic
      wrote on last edited by
      #28

      Nishant Sivakumar wrote:

      This is the best answer here

      Seconded.

      Programming Blog utf8-cpp

      1 Reply Last reply
      0
      • N Nemanja Trifunovic

        A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

        *(*(*(p_member).p_member).p_member).member

        and the other guy said "WTF" and changed it to something like:

        p_member->p_member->p_member->member

        and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

        Programming Blog utf8-cpp

        O Offline
        O Offline
        Old Ed
        wrote on last edited by
        #29

        If you understand the code and it works then just leave it alone. It's absolutely ridiculous to get into a pissing contest over style. Additionally, style guidelines should already have been established. Lastly, once you've written code just let it go.

        1 Reply Last reply
        0
        • N Nemanja Trifunovic

          A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

          *(*(*(p_member).p_member).p_member).member

          and the other guy said "WTF" and changed it to something like:

          p_member->p_member->p_member->member

          and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

          Programming Blog utf8-cpp

          D Offline
          D Offline
          Doug Rogers
          wrote on last edited by
          #30

          What you may think is beautiful, is not necessarily what everyone else thinks is beautiful. At my last job, we had a philosophy: When changing someone else's code, use their style. I would leave the code, but attempt to get a coding standard for the company. So when you wanted to change the code to ->, it would be per the company standard.

          1 Reply Last reply
          0
          • L Lost User

            Nemanja Trifunovic wrote:

            I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

            The relationship with my co-workers depends upon their sex, age and willingness to get drunk at the Xmas party and fool around in the stationery cupboard. The beauty of any code lies in the eye of the beholder, and code, having all the attibutes of a woman, has needs, wants and a particular inner beauty that is at once obvious and indescribable.

            ___________________________________________ .\\axxx (That's an 'M')

            P Offline
            P Offline
            pdelayCA
            wrote on last edited by
            #31

            Maxxx_ wrote:

            The beauty of any code lies in the eye of the beholder ... inner beauty that is at once obvious and indescribable

            I agree with this comment so wholeheartedly that I put it up on my whiteboard (I also have it signed Maxxx_ [CodeProject]). I cannot seem to move past the memories of the coutless times I have looked over other's code work, and rated them according to maturity of style. I am quite sure that if it were possible to analyze my coding over the past 12 years, you would see a progression of stick-figure crayon drawings gradualy merging into detailed oil paintings. Though my works probably will never come close to the masters of today, they are products of my imagination and assembled through my blood, sweat, and tears. A lot of me goes into everything I make, therefore it is hard not to have an attachment to the code I have constructed. BUT, I am open to new methods and concepts, which means that I will always be searching for ways to improve my craft. I am willing to accept a critical eye and helpful suggestions, as long as they are respectful of the effort I have already applied. Ultimately, my point is that I agree that the "The beauty of any code lies in the eye of the beholder...", whereas it is all to easy to overlook the effort behind the finished product. Keep that in mind the next time you look over someone else's code.

            1 Reply Last reply
            0
            • N Nemanja Trifunovic

              A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

              *(*(*(p_member).p_member).p_member).member

              and the other guy said "WTF" and changed it to something like:

              p_member->p_member->p_member->member

              and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

              Programming Blog utf8-cpp

              J Offline
              J Offline
              James Lonero
              wrote on last edited by
              #32

              Actually, there should be a code standard for the group and/or company that spells out items like this. One of the holiest of the styles is the placement of the braces { }. But, the code standards for the organization should spell this out and the code standard should be updated regularly. But, most places that I have worked have coding standards.

              1 Reply Last reply
              0
              • N Nemanja Trifunovic

                A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

                *(*(*(p_member).p_member).p_member).member

                and the other guy said "WTF" and changed it to something like:

                p_member->p_member->p_member->member

                and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

                Programming Blog utf8-cpp

                P Offline
                P Offline
                patbob
                wrote on last edited by
                #33

                Co-workers. "Beautiful" code doesn't help gets projects done on time, prevent bugs or fix bugs. Putting up with prima donnas is no longer a necessary evil of software development.

                patbob

                1 Reply Last reply
                0
                • B Big Daddy Farang

                  Nemanja Trifunovic wrote:

                  would you rather have "beautiful" code or good relationship with your coworkers?

                  I'd sort of like to have both. :) I don't think I'd change the first guy's code if he was still in the company. I might add a comment,

                  // a sane person would write:
                  // p_member->p_member->p_member->member

                  and let the chips fall where they may.

                  BDF People don't mind being mean; but they never want to be ridiculous. -- Moliere

                  F Offline
                  F Offline
                  Fahad Sadah
                  wrote on last edited by
                  #34

                  Or

                  //aka
                  // p_member->p_member->p_member->member

                  1 Reply Last reply
                  0
                  • N Nemanja Trifunovic

                    A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

                    *(*(*(p_member).p_member).p_member).member

                    and the other guy said "WTF" and changed it to something like:

                    p_member->p_member->p_member->member

                    and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

                    Programming Blog utf8-cpp

                    E Offline
                    E Offline
                    Ennis Ray Lynch Jr
                    wrote on last edited by
                    #35

                    Never change someone else code unless you are correcting an error or adding a feature. Stylistic changes, while innocuous must still be thoroughly tested. With regard to the code snippet it isn't even valid anyway in either case as both fail when the level is not assigned.

                    Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

                      *(*(*(p_member).p_member).p_member).member

                      and the other guy said "WTF" and changed it to something like:

                      p_member->p_member->p_member->member

                      and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

                      Programming Blog utf8-cpp

                      L Offline
                      L Offline
                      LenaBr
                      wrote on last edited by
                      #36

                      Unless the code was once written by your boss and you accidentally use it to illustrate how not to program to all your co-workers.

                      1 Reply Last reply
                      0
                      • N Nemanja Trifunovic

                        A recent StackOverflow discussion got me thinking... Apparently somebody did something like:

                        *(*(*(p_member).p_member).p_member).member

                        and the other guy said "WTF" and changed it to something like:

                        p_member->p_member->p_member->member

                        and offended the guy No. 1 who prefers his own style. Now, I don't want to steal the SO thread and discuss what is better - most if not all of us will agree with the guy 2 that operator -> is the preffered approach here. But would you make a change like this and start a war with someone you work with? I mean, the code is still correct, even if ugly, and the customers will never notice any difference. On the other hand, if you turn the development team into a bunch of people who hate each other, everybody is going to suffer. I guess my question is: would you rather have "beautiful" code or good relationship with your coworkers?

                        Programming Blog utf8-cpp

                        D Offline
                        D Offline
                        dpminusa
                        wrote on last edited by
                        #37

                        Maybe the example is too simple. What are the objectives of your style guide? Some simple ones include: 1. Self-documenting - use meaningful names 2. Easy of maintenance by all project members - use code you would like to have to maintain yourself 3. No unnecessary/redundant code - use the full recommended, language features 4. No unsafe/incomplete constructs - consider correct and incorrect data may reach this section 5. No insecure code - open to hacks, injections, etc. Do you consider technique and style to be different things? Perhaps your example is more technique that style? To me, style is the art and technique is the science. As someone else pointed out, constructively convincing may be the way to go. I have had success with two opposing members trying to maintain each others code. They may see the point to the style guide and compromise. Not to sound too PollyAnna - then everyone wins.

                        "Coding for fun and profit ... mostly fun"

                        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