• Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    3
    ·
    edit-2
    1 year ago

    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.

    • exussum@lemmy.world
      link
      fedilink
      arrow-up
      7
      arrow-down
      7
      ·
      1 year ago

      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.

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

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

            • exussum@lemmy.world
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              1 year ago

              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 😬

              • Eager Eagle@lemmy.world
                link
                fedilink
                English
                arrow-up
                4
                ·
                1 year ago

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

              • Kalabasa
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago

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

          • noli
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            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

      • Turun@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

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

        • exussum@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

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

          • Miaou@jlai.lu
            link
            fedilink
            arrow-up
            1
            ·
            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