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. Best Programming Advice Ever.

Best Programming Advice Ever.

Scheduled Pinned Locked Moved The Lounge
phpcomtoolsquestion
36 Posts 22 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 Naruki 0

    ... in the right circumstances. Pretty much being that the variable is in a very short scope and is basically a tmp variable, where the name is not important.

    Don't let my name fool you. That's my job.

    D Offline
    D Offline
    Dave Parker
    wrote on last edited by
    #19

    At the place where I used to work the guy who was there before me made *every* variable a global (this is in VB6) and would start with the name AAA and work his way upwards :-s

    D 1 Reply Last reply
    0
    • D Dave Parker

      At the place where I used to work the guy who was there before me made *every* variable a global (this is in VB6) and would start with the name AAA and work his way upwards :-s

      D Offline
      D Offline
      destynova
      wrote on last edited by
      #20

      Dave Parker wrote:

      At the place where I used to work the guy who was there before me made *every* variable a global (this is in VB6) and would start with the name AAA and work his way upwards :-s

      Now that's a master coder.

      N 1 Reply Last reply
      0
      • K KungFuCoder

        I just settle for calling them tmpStr tmpInt etc so I know. Tend not to use them at all unless I have to

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

        KungFuCoder wrote:

        I just settle for calling them tmpStr tmpInt etc so I know.

        It's better than nothing I suppose, unless you're using a statically typed language, in which case it's completely useless (e.g. "int tmpInt" is redundant and a waste of brain/finger time).

        N 1 Reply Last reply
        0
        • Brian C HartB Brian C Hart

          That point is irrelevant. I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. Makes the code fairly hard to understand if all the tmp variables happen to be one letter, trust me.

          Sincerely Yours, Brian Hart

          D Offline
          D Offline
          destynova
          wrote on last edited by
          #22

          Brian Hart wrote:

          That point is irrelevant. I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. Makes the code fairly hard to understand if all the tmp variables happen to be one letter, trust me.

          I'll tell you what makes the code fairly hard to understand: having a single function which is thousands of lines long. This is idiotic and completely unnecessary - we've had procedures and functions and other abstractions since before colour TV, and their main use is to prevent thousand line functions from ever existing. IMO, tiny variable names are okay if you have quite short functions, which you really should anyway.

          T 1 Reply Last reply
          0
          • N Naruki 0

            ... in the right circumstances. Pretty much being that the variable is in a very short scope and is basically a tmp variable, where the name is not important.

            Don't let my name fool you. That's my job.

            J Offline
            J Offline
            Jane Williams
            wrote on last edited by
            #23

            It did have positive benefits back in the early days of COBOL, punched cards, and things like that. Anything that saved memory was a good thing. You know, like 2-digit years.... hmmm... Yes, I have attempted to maintain programs from that era. Two-letter variable names and labels, many hundreds of gotos, even more hundred alter-gotos. Having done so, let me add something to that original advice. 2) If you use 1 or 2 letter variable names, do not leave your name in the comments at the top of the code to say what you did. 2a) Especially if one of the programmers who will read it, a few decades later, is your own daughter. She DOES know where you live.

            N 1 Reply Last reply
            0
            • Brian C HartB Brian C Hart

              That point is irrelevant. I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. Makes the code fairly hard to understand if all the tmp variables happen to be one letter, trust me.

              Sincerely Yours, Brian Hart

              S Offline
              S Offline
              supercat9
              wrote on last edited by
              #24

              I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. There is nothing wrong, IMHO, with using trivial variable names in cases where the scope of the variable is short and its meaning can be entirely gleaned from context. A classic example:

              For I As Integer = 1 To 40
              Item.Dat(I) = 0
              Next

              Would using any name other than "I" make things clearer? Of how about something like:

              Dim st As String
              st = GetSomeData();
              If Not String.IsNullOrEmpty(st) Then
              DoSomethingWith(st)
              Endif

              Would any name other than "st" be more helpful?

              N Brian C HartB 2 Replies Last reply
              0
              • C clearbrian1

                Just do what apple do. Create a platform...IPOD/IPHONE They only change 3 things every 6 months..(Email forwarding (cmon we all know that took a day to write))..have a big macworld announcement and the starving clients will praise you forever. :) 6 bugs /year...think thats a programmers best average? :)

                G Offline
                G Offline
                goodideadave
                wrote on last edited by
                #25

                clearbrian1 wrote:

                6 bugs /year...think thats a programmers best average?

                Jeez, if I only create six bugs per hour, I'm having a helluva day. :sigh:

                Someone's gotta be the last to know, but why is it always me?

                J 1 Reply Last reply
                0
                • P Philip Laureano

                  Clickety[^] :)

                  Do you know...LinFu?

                  D Offline
                  D Offline
                  Drozzy
                  wrote on last edited by
                  #26

                  link dead :(

                  N 1 Reply Last reply
                  0
                  • G goodideadave

                    clearbrian1 wrote:

                    6 bugs /year...think thats a programmers best average?

                    Jeez, if I only create six bugs per hour, I'm having a helluva day. :sigh:

                    Someone's gotta be the last to know, but why is it always me?

                    J Offline
                    J Offline
                    John M Drescher
                    wrote on last edited by
                    #27

                    goodideadave wrote:

                    Jeez, if I only create six bugs per hour, I'm having a helluva day.

                    Per hour, you are probably programming too fast. Are you counting failed compiles/syntax type errors? I don't consider that a bug.

                    John

                    G 1 Reply Last reply
                    0
                    • J John M Drescher

                      goodideadave wrote:

                      Jeez, if I only create six bugs per hour, I'm having a helluva day.

                      Per hour, you are probably programming too fast. Are you counting failed compiles/syntax type errors? I don't consider that a bug.

                      John

                      G Offline
                      G Offline
                      goodideadave
                      wrote on last edited by
                      #28

                      Wow, I have never been accused of coding too fast before, usually it's just the opposite...

                      Someone's gotta be the last to know, but why is it always me?

                      1 Reply Last reply
                      0
                      • J Jane Williams

                        It did have positive benefits back in the early days of COBOL, punched cards, and things like that. Anything that saved memory was a good thing. You know, like 2-digit years.... hmmm... Yes, I have attempted to maintain programs from that era. Two-letter variable names and labels, many hundreds of gotos, even more hundred alter-gotos. Having done so, let me add something to that original advice. 2) If you use 1 or 2 letter variable names, do not leave your name in the comments at the top of the code to say what you did. 2a) Especially if one of the programmers who will read it, a few decades later, is your own daughter. She DOES know where you live.

                        N Offline
                        N Offline
                        Naruki 0
                        wrote on last edited by
                        #29
                        1. Leave someone else's name in the comments. Preferably your PHB's name.

                        Don't let my name fool you. That's my job.

                        1 Reply Last reply
                        0
                        • D destynova

                          Dave Parker wrote:

                          At the place where I used to work the guy who was there before me made *every* variable a global (this is in VB6) and would start with the name AAA and work his way upwards :-s

                          Now that's a master coder.

                          N Offline
                          N Offline
                          Naruki 0
                          wrote on last edited by
                          #30

                          If you accidentally hired him, do not make any sudden moves. ;P

                          Don't let my name fool you. That's my job.

                          1 Reply Last reply
                          0
                          • D destynova

                            KungFuCoder wrote:

                            I just settle for calling them tmpStr tmpInt etc so I know.

                            It's better than nothing I suppose, unless you're using a statically typed language, in which case it's completely useless (e.g. "int tmpInt" is redundant and a waste of brain/finger time).

                            N Offline
                            N Offline
                            Naruki 0
                            wrote on last edited by
                            #31

                            In my very short scope example, most likely so, but not for the reason you say. The fact that the compiler will catch a mistake does not make it easier to read and understand. A short scope of 10 lines or less means we don't really need to care what it is. But if you are evaluating 20 different boolean results over the course of a 100+ line function, you might not want to spend a lot of time thinking of 20 meaningful but distinct names. tmpBool would do just fine.

                            Don't let my name fool you. That's my job.

                            1 Reply Last reply
                            0
                            • S supercat9

                              I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. There is nothing wrong, IMHO, with using trivial variable names in cases where the scope of the variable is short and its meaning can be entirely gleaned from context. A classic example:

                              For I As Integer = 1 To 40
                              Item.Dat(I) = 0
                              Next

                              Would using any name other than "I" make things clearer? Of how about something like:

                              Dim st As String
                              st = GetSomeData();
                              If Not String.IsNullOrEmpty(st) Then
                              DoSomethingWith(st)
                              Endif

                              Would any name other than "st" be more helpful?

                              N Offline
                              N Offline
                              Naruki 0
                              wrote on last edited by
                              #32

                              supercat9 wrote:

                              Would any name other than "st" be more helpful?

                              Try 'str'. :-D Because I'd keep thinking "street? What's street got to do with this?"

                              Don't let my name fool you. That's my job.

                              1 Reply Last reply
                              0
                              • D Drozzy

                                link dead :(

                                N Offline
                                N Offline
                                Naruki 0
                                wrote on last edited by
                                #33

                                I guess he linked like the person clicking was a deranged serial killer, and he didn't want him to know where he lived.

                                Don't let my name fool you. That's my job.

                                1 Reply Last reply
                                0
                                • S supercat9

                                  I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. There is nothing wrong, IMHO, with using trivial variable names in cases where the scope of the variable is short and its meaning can be entirely gleaned from context. A classic example:

                                  For I As Integer = 1 To 40
                                  Item.Dat(I) = 0
                                  Next

                                  Would using any name other than "I" make things clearer? Of how about something like:

                                  Dim st As String
                                  st = GetSomeData();
                                  If Not String.IsNullOrEmpty(st) Then
                                  DoSomethingWith(st)
                                  Endif

                                  Would any name other than "st" be more helpful?

                                  Brian C HartB Offline
                                  Brian C HartB Offline
                                  Brian C Hart
                                  wrote on last edited by
                                  #34

                                  Agreed. Certainly nothing wrong at all with "using trivial variable names in cases where the scope of the variable is short and its meaning can be entirely gleaned from context," as you say, and I quote.

                                  Sincerely Yours, Brian Hart

                                  1 Reply Last reply
                                  0
                                  • D destynova

                                    Brian Hart wrote:

                                    That point is irrelevant. I am talking about seeing this in high performance scientfic codes where a single function can be thousands of lines long. Makes the code fairly hard to understand if all the tmp variables happen to be one letter, trust me.

                                    I'll tell you what makes the code fairly hard to understand: having a single function which is thousands of lines long. This is idiotic and completely unnecessary - we've had procedures and functions and other abstractions since before colour TV, and their main use is to prevent thousand line functions from ever existing. IMO, tiny variable names are okay if you have quite short functions, which you really should anyway.

                                    T Offline
                                    T Offline
                                    tsdragon
                                    wrote on last edited by
                                    #35

                                    "I'll tell you what makes the code fairly hard to understand: having a single function which is thousands of lines long." You can say that again!!! If at all possible I try not to have a function that goes over the number of lines that will fit comfortably in one screen of my programming editor.

                                    Meddle not in the affairs of dragons, For you are crunchy, and good with mustard.

                                    1 Reply Last reply
                                    0
                                    • P Philip Laureano

                                      Clickety[^] :)

                                      Do you know...LinFu?

                                      C Offline
                                      C Offline
                                      CDMTJX
                                      wrote on last edited by
                                      #36

                                      Thanks - had to laugh and print it out for my wall. The worst offenders of hard to maintain seem to be people who aren't programming in old dusty code where good practice (comments, well named variables) are lifelines to what was done and why. Or a consulting engineer who refused to comment code because he said comments were always wrong - out of date - see the code! And wrote frightfully elegant code that was very difficult to figure out.

                                      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