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. Cleverness

Cleverness

Scheduled Pinned Locked Moved The Lounge
csharpphpwpfcomquestion
78 Posts 48 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.
  • J Josh Smith

    I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

    :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

    M Offline
    M Offline
    Marc Clifton
    wrote on last edited by
    #6

    Josh Smith wrote:

    I abhor reading code which is intentionally clever. Clever code which functions properly is garbage. If you're smart enough to write clever code which works, stop being a jerk and write smart code which works. Please.

    You mean like: foo.GetType().GetProperty("Bar").SetValue(foo, "fizbin", null); when foo.bar="fizbin" would have worked just fine? Marc

    Thyme In The Country
    Interacx
    My Blog

    D B S 3 Replies Last reply
    0
    • A Anthony Mushrow

      You mean, like somebody will take a slightly more difficult and lengthy path, just because they know how? Rather than doing it the obvious regular way which probably works better anyway? Or did i completely miss your point?

      My current favourite word is: Waffle Cheese is still good though.

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #7

      He means if you can see a way to make 5 lines work in one line of code, a simple example is int n = myInts[index++]; that's not *terribly* clever, but as a rough off the top of my head example, incrementing the index in the next line of code makes clear that you want it to increment after the operation. I know that in my early days of STL I delighted in writing code that in hindsight was far more obscure than this, on the basis that I knew how. But, you quickly realise that readable counts for more than clever, it's part of being a team player instead of trying to show off, IMO.

      Christian Graus - Microsoft MVP - C++ "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

      L B D G C 6 Replies Last reply
      0
      • M Marc Clifton

        Josh Smith wrote:

        I abhor reading code which is intentionally clever. Clever code which functions properly is garbage. If you're smart enough to write clever code which works, stop being a jerk and write smart code which works. Please.

        You mean like: foo.GetType().GetProperty("Bar").SetValue(foo, "fizbin", null); when foo.bar="fizbin" would have worked just fine? Marc

        Thyme In The Country
        Interacx
        My Blog

        D Offline
        D Offline
        Douglas Troy
        wrote on last edited by
        #8

        Oooo ... you're clever ... ;P


        :..::. Douglas H. Troy ::..
        Bad Astronomy |VCF|wxWidgets|WTL

        1 Reply Last reply
        0
        • J Josh Smith

          I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

          :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

          C Offline
          C Offline
          CataclysmicQuantum
          wrote on last edited by
          #9

          Back in the old days of game programming you had to do all kinds of clever little tricks to speed up your game. Bit shifting instead of multiplication for instance. For the 386/486 and many others the bit shifting operation was quicker than multiplication, but you can only do that in certain scenarios.

          46 75 63 6B 20 79 6F 75 20 4B 79 6C 65 20 45 64 77 61 72 64 73 20 66 72 6F 6D 20 41 72 6B 61 6E 73 61 73 21 20 46 75 63 6B 20 79 6F 75 20 74 6F 20 68 65 6C 6C This is a coded message, if you decode it and you are offended, it is your own f****ing fault.

          P 1 Reply Last reply
          0
          • J Josh Smith

            I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

            :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

            L Offline
            L Offline
            Llasus
            wrote on last edited by
            #10

            Better to think cleverly and write it smart. The same thing about smart and clever is that both of them works. Only difference is that the smart developer considered things way beyond the code (readability, maintenance, reusability), while the clever developer only dwells on the solution for the current problem and does not think much about after coding the application.

            1 Reply Last reply
            0
            • J Josh Smith

              I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

              :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

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

              Sometimes "clever" code doesn't impress me one bit.

              "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

              _ 1 Reply Last reply
              0
              • C Christian Graus

                Yeah, there was a time when I wrote 'clever' C++ code, but I got over myself.

                Christian Graus - Microsoft MVP - C++ "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

                M Offline
                M Offline
                martin_hughes
                wrote on last edited by
                #12

                Although I love your articles on image processing.

                Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007

                1 Reply Last reply
                0
                • P PIEBALDconsult

                  But that takes the fun out of it.

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

                  Especially when debugging :->

                  "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                  1 Reply Last reply
                  0
                  • C CataclysmicQuantum

                    Back in the old days of game programming you had to do all kinds of clever little tricks to speed up your game. Bit shifting instead of multiplication for instance. For the 386/486 and many others the bit shifting operation was quicker than multiplication, but you can only do that in certain scenarios.

                    46 75 63 6B 20 79 6F 75 20 4B 79 6C 65 20 45 64 77 61 72 64 73 20 66 72 6F 6D 20 41 72 6B 61 6E 73 61 73 21 20 46 75 63 6B 20 79 6F 75 20 74 6F 20 68 65 6C 6C This is a coded message, if you decode it and you are offended, it is your own f****ing fault.

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

                    CataclysmicQuantums wrote:

                    Bit shifting instead of multiplication for instance

                    I remember those tricks, and they still work well from time to time. ---modified Though it is tough to beat an optimizing compiler these days.

                    "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                    D 1 Reply Last reply
                    0
                    • C Christian Graus

                      Yeah, there was a time when I wrote 'clever' C++ code, but I got over myself.

                      Christian Graus - Microsoft MVP - C++ "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

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

                      Me too :)

                      1 Reply Last reply
                      0
                      • P Paul Conrad

                        Sometimes "clever" code doesn't impress me one bit.

                        "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                        _ Offline
                        _ Offline
                        _Damian S_
                        wrote on last edited by
                        #16

                        There's cleverness for the sake of cleverness, and there's cleverness that creates an elegant solution to a difficult problem...

                        ------------------------------------------- Don't walk in front of me, I may not follow; Don't walk behind me, I may not lead; Just bugger off and leave me alone!!

                        P 1 Reply Last reply
                        0
                        • _ _Damian S_

                          There's cleverness for the sake of cleverness, and there's cleverness that creates an elegant solution to a difficult problem...

                          ------------------------------------------- Don't walk in front of me, I may not follow; Don't walk behind me, I may not lead; Just bugger off and leave me alone!!

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

                          _Damian S_ wrote:

                          there's cleverness that creates an elegant solution to a difficult problem...

                          True. I just think of the cleverness for the sake of being a hot-shot smarty-pants.

                          "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                          _ 1 Reply Last reply
                          0
                          • J Josh Smith

                            I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

                            :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                            C Offline
                            C Offline
                            Chris Austin
                            wrote on last edited by
                            #18

                            I was never clever enough to write clever code. Unless you mean doing things like bit shifts because at times they were faster than basic arithmetic on some platforms. Now days the c/c++ compilers are pretty good so I haven't found the need to do it too often.

                            My Blog A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

                            1 Reply Last reply
                            0
                            • P Paul Conrad

                              _Damian S_ wrote:

                              there's cleverness that creates an elegant solution to a difficult problem...

                              True. I just think of the cleverness for the sake of being a hot-shot smarty-pants.

                              "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                              _ Offline
                              _ Offline
                              _Damian S_
                              wrote on last edited by
                              #19

                              Absolutely... I was agreeing with you on that one!!

                              ------------------------------------------- Don't walk in front of me, I may not follow; Don't walk behind me, I may not lead; Just bugger off and leave me alone!!

                              1 Reply Last reply
                              0
                              • J Josh Smith

                                I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

                                :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                E Offline
                                E Offline
                                El Corazon
                                wrote on last edited by
                                #20

                                Josh Smith wrote:

                                Clever code requires me to spend time figuring out how some pompous smart person thinks. Smart code allows me to just read it and move on.

                                Well, I will agree mostly. I still have to hesitantly present a situation, that someone else brought up. Sometimes the non-clever way is too cpu-intensive. I have been accused of writing "clever" code, even though all I did was bring game programming techniques to sci-vis and engineering. I didn't invent anything, I sped it up by an exponent or more. Quaternions were once considered clever because it was a mathematical concept that was difficult to imagine (try imagining a 4 dimensional unit vector). But today it is normal to use for solving problems. And now people are coming to me because they somehow just discovered quaternions. :laugh: But cleverness for the sake of showing off, that programmer is no different than a pilot hotdogging. He needs to grow up. :-D

                                _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                                B 1 Reply Last reply
                                0
                                • J Josh Smith

                                  I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

                                  :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                  Steve EcholsS Offline
                                  Steve EcholsS Offline
                                  Steve Echols
                                  wrote on last edited by
                                  #21

                                  Bah! As long as your "cleverness" is well documented, why is it bad? Maybe you can learn some new techniques or ways of thinking from someone else's cleverness. Seems to me programmers these days don't want to think, or don't have time to think. I like a good brainteaser every now and again - keeps me sharp!


                                  - S 50 cups of coffee and you know it's on!

                                  • S
                                    50 cups of coffee and you know it's on!
                                    Code, follow, or get out of the way.
                                  R D 2 Replies Last reply
                                  0
                                  • J Josh Smith

                                    I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

                                    :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

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

                                    I tell myself that every time i start a new project. But i never listen. And then i have to go back and clean up the mess i made of things, cussing at myself the whole time. It's easier when other people do it. I still cuss at them while fixing things, but they don't have to stick around to hear it. ;)

                                    every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

                                    1 Reply Last reply
                                    0
                                    • J Josh Smith

                                      I abhor reading code which is intentionally clever.  Clever code which functions properly is garbage.  If you're smart enough to write clever code which works, stop being a jerk and write smart code which works.  Please. Clever code requires me to spend time figuring out how some pompous smart person thinks.  Smart code allows me to just read it and move on. Agreed?

                                      :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                      P Offline
                                      P Offline
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #23

                                      There must be a reason why "Clever" begins with "C". C was designed for and by clever coders. :cool: One of the practices I least liked seeing in C programs was things like Given: char* s The test: if ( !s ) ... The test: if ( s ) ... Rather than: if ( s != NULL ) ...

                                      R 1 Reply Last reply
                                      0
                                      • P PIEBALDconsult

                                        There must be a reason why "Clever" begins with "C". C was designed for and by clever coders. :cool: One of the practices I least liked seeing in C programs was things like Given: char* s The test: if ( !s ) ... The test: if ( s ) ... Rather than: if ( s != NULL ) ...

                                        R Offline
                                        R Offline
                                        Robert Surtees
                                        wrote on last edited by
                                        #24

                                        are you sure !s is the same as s != NULL ?

                                        D P 2 Replies Last reply
                                        0
                                        • C Christian Graus

                                          Yeah, there was a time when I wrote 'clever' C++ code, but I got over myself.

                                          Christian Graus - Microsoft MVP - C++ "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

                                          B Offline
                                          B Offline
                                          Brady Kelly
                                          wrote on last edited by
                                          #25

                                          I think we all go through that phase. I agree with Josh, writing simple code that works is smart. Being 'clever' only sets you, or your successor, up for trouble. That said, I do sometimes take a perverse pleasure in properly using the -- and ++ operators, knowing full well that a rookie will spend some extra time on a particular line. :suss:

                                          MY BLOG

                                          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