• 🇨🇦 tunetardis@piefed.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    28 days ago

    Coming from C++, I initially thought it aggravating that you have to go self. everywhere when working with classes in Python. But I’ve conceded that it improves code-legibility, and now I’m going this-> everywhere when I’m back in C++.

    • bterwijn@programming.devOP
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      28 days ago

      Another common naming convention in C++ is using an underscore as prefix for member variables: int _memberVariable{123};

      • 🇨🇦 tunetardis@piefed.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        28 days ago

        My personal convention in C++ was to use an m prefix on member variables and a g for class variables.

        I guess in Python, I think of _ as equivalent to protected scope in C++ and __ (double underscore) as equivalent to private. Not a perfect analogy, but it works for me.

        • aion@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          28 days ago

          Just don’t use double underscores in C++, identifiers containing double underscores are reserved for the compiler/linker/standard library.

          • bterwijn@programming.devOP
            link
            fedilink
            arrow-up
            1
            ·
            27 days ago

            Same thing in Python, double underscore prefix triggers “name mangling”. There are issues that can pop up when using it if not aware.