• Gentoo1337@sh.itjust.works
    link
    fedilink
    arrow-up
    42
    ·
    1 year ago

    I remember one GitHub project that implemented some algorithm (I think it was Dijkstra’s) but only used 4 or 5 single letter variables and just kept reusing them.

    • Dandroid@dandroid.app
      link
      fedilink
      arrow-up
      35
      ·
      1 year ago

      When I was in college, I had a guy that I was working on a project with that did this constantly. At one point I looked at one of his files and the variables were named a, b, c, aa, ab, ac, ba, bb, etc. That when I was like, bro, you gotta stop doing this.

      • wizardbeard@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        39
        ·
        1 year ago

        “Inside you there are two wolves…” or something:

        Option 1: Sit down with them and go line by line through it. Make him identify each variable’s purpose and then immediately find and replace to rename every instance with a more descriptive name.

        Option 2: Small script to shuffle the variable names in his code around after each of his commits.

    • lorty@lemmy.ml
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      When you are used to math equations, it’s easy to slip into that habit.

        • MooseBoys@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          Only if they are well-known in the language you’re using or domain you’re writing for. x and y are fine for coordinates. i and j are fine for loop indices. But abbreviating things unnecessarily is bad IMO. s = GetSession() is too terse, for example.

          • Pxtl@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            No, I mean single-letter vars are standard in physics and math, but reusing vars is not acceptable. Obviously they’re not good practice except in the scenarios you describe, but mathies gonna math.

    • Pxtl@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      1 year ago

      Maybe they had a background in low-level assembly code? If you’re writing assembly that’s kinda sorta how you’d handle registers.