this post was submitted on 15 Oct 2023
303 points (95.2% liked)

Programmer Humor

32512 readers
699 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Gentoo1337@sh.itjust.works 46 points 1 year ago (3 children)

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 37 points 1 year ago (2 children)

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 41 points 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.

[–] tslnox@reddthat.com 4 points 1 year ago

The guy thinks in Excel.

[–] lorty@lemmy.ml 8 points 1 year ago (1 children)

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

[–] Pxtl@lemmy.ca 7 points 1 year ago (2 children)

Single letter variables, yes. Reusing them? No.

[–] MooseBoys@lemmy.world 4 points 1 year ago (1 children)

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 3 points 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.

[–] vsh@lemm.ee -1 points 1 year ago (1 children)

Naming variables by single letters is faster than a full 10-15 character word. Also sometimes more readable depending on context.

[–] Scraft161@iusearchlinux.fyi 2 points 1 year ago

Length might have mattered in the 80s and 90s when IDEs were crap but we got autocomplete in pretty much all our text editors (even TUI ones like vim).

As for readability there is an argument to be had in specific contexts, but 9 out of 10 times it makes more sense to use a proper word.

Example:

let list = [1, 2, 3];
for i in list {
    println!("{}", i);
}

In this case using item in the place of i would be more fitting.

[–] Pxtl@lemmy.ca 6 points 1 year ago* (last edited 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.