Mine is that the useState hook is an actual plague on the entire React ecosystem. Regardless of your opinions of React, if you wanna use something then use it right.

you are viewing a single comment's thread
view the rest of the comments
[–] 25 points 2 weeks ago (6 children)

No single letter variable names. Yes I also mean the i in for loops you see in tutorials. Write out "index" or give it a more descriptive name. Doing the typing isn't the hard part of programming, nor the most time consuming, so making it take a teeny tiny bit longer by having longer variable names is more than worth the value of variables the effortlessly describe themselves.

line length is not that big of a problem anymore, we're not on CRTs, people are regularly developing with 4k monitors, we don't need to limit to 40 character lines but even still if you can't possibly think of a way to break up that long of a line and the only thing you can think of to make it shorter is using over-acronymized variable names then you've already lost the plot somewhere

  • source
  • hideshow 6 child comments
  • [–] 40 points 2 weeks ago* (1 child)

    I disagree when it comes to standardized single-letter variable names. They're invaluable when writing dense code for games or other math-heavy applications and you learn to recognize them very quickly.

    So i for index in loops (and j, k for nested loops, but you're almost always doing something wrong if you need them); x, y, z for position and h, w for size; r, g, b, a for color data, etc - you'll immediately know what the variable is for at a glance even though it's a single character.

    Another benefit is that having related variables be the same character width keeps code visually aligned, which helps with readability.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 2 weeks ago

    I can concede that in games programming (which I'm not a game dev so I often forget about) x, y, and z coordinates are a valid exception.

    I would disagree about w and h for width and height, typing them out feels like i for index

    I worry about the phrase, "you'll immediately know what the variable is for at a glance even though it's a single character"

    how often have you heard developers say that something is simple and it's just because they wrote it? maybe it is obvious, but if it were more verbose it would be just as obvious but without any possibility of misunderstanding

    and even if it's obvious now there's no guarantee a future developer doesn't pull that variable out and mutate it or do something else with it, and maybe they should change it at that point but the effort to have it verbosely named from the start is miniscule

  • source
  • parent