this post was submitted on 11 Oct 2023
61 points (94.2% liked)

Programming

17668 readers
153 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 20 points 1 year ago* (last edited 1 year ago) (1 children)

The liberty to not name things that are obvious.

and that's yet another way to end up with hard to read code.

Variables hold values that have meaning. Learn how to name things and you'll write good code.

edit: someone just wrote an article along these lines. The only thing I'd change is the cause-effect relationship between bad names and bad code. IME bad names lead to bad code, not usually the other way around. The reason is that by starting from good name choices, it's much easier to have a well structured code. And not rarely, bad names lead to mangled up code that screams for a refactoring.

[–] [email protected] 0 points 1 year ago (3 children)

This makes me want to write a function for you to add to numbers where the variables are leftumber and rightnumber, instead of x and y.

[–] [email protected] 5 points 1 year ago (1 children)

if "left" and "right" were relevant for addition, they would indeed be better names

[–] [email protected] 1 points 1 year ago (2 children)

Are you against using a single letter variable like e for element in iterating over things?

[–] [email protected] 3 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (2 children)

To each their own. But man imagine if you have a collection of stuff that has a large name, and then having to figure out a short name other than e when iterating. I hope you're not iterating over chemical names 😬

[–] [email protected] 4 points 1 year ago

No need to be over-descriptive. Anything at all more specific than e will probably be a better name

[–] Kalabasa 1 points 1 year ago

It's not black and white. I mean, even el is a lot better than e.

[–] noli 1 points 1 year ago* (last edited 1 year ago)

Depends. If you're using a good ol' C-style for loop then nothing's wrong with for(int i = 0; i < something;i++), but if you're doing something like iterating over some collection it's way clearer to do something like for animal in animals: than it is to do for e in animals:. Especially if you're doing something non-trivial for each element

[–] [email protected] 1 points 1 year ago

Implementing add (and other math operations) in rust for your types has the type signature self and rhs (right hand side).

[–] [email protected] 0 points 1 year ago (1 children)

Lhs and rhs are much better than x and y

[–] [email protected] 2 points 1 year ago (1 children)

In what way? If you encountered a function that had x and y which just added them together, that's not readable enough?

[–] [email protected] 1 points 1 year ago

Well in a vacuum yes sure, you're right, but in practice there's always some context. x and y could be referring to axes, where an addition makes little sense. However lhs and rhs make more sense if you're overloading an operator