• shastaxc@lemm.ee
    link
    fedilink
    arrow-up
    62
    ·
    10 months ago

    This is why I spend a good amount of time setting up linters on new repos before even starting to make the application. It saves a ton of time in peer reviews because no one has to think about formatting. Some people may not like the rules chosen but official direction from the boss is “get over it”. There are 0 comments on PRs about formatting which only ever annoys people and is a waste of good dev time.

    • waz@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      10 months ago

      On my current team, when we were trying to choose a style, my only input was “any style that can be checked/applied with a git commit hook.”

      I get some people prefer reading code in a particular format. Let them configure their editor to apply it, but let’s keep the version history in one unavoidably consistent style. Pretty please.

  • Australis13@fedia.io
    link
    fedilink
    arrow-up
    28
    arrow-down
    1
    ·
    edit-2
    10 months ago

    I felt that. I have a colleague whose coding style is different to mine and whenever they work on code that I originally wrote, I have to resist the temptation to modify things to camelCase.

    • mesamune@lemmy.world
      link
      fedilink
      English
      arrow-up
      47
      arrow-down
      1
      ·
      10 months ago

      Linters make these kind of things easier. Then you get mad at the tool rather than your coworker.

      • flashgnash@lemm.ee
        link
        fedilink
        arrow-up
        10
        ·
        10 months ago

        Does Prettier count as a linter?

        I always thought linters were more to find bad practice and possible errors than control the code style

        • Australis13@fedia.io
          link
          fedilink
          arrow-up
          14
          ·
          10 months ago

          Some linters can do both. Getting one set up as an automated job whenever code is pushed to the repo is on my TODO list…

          • mesamune@lemmy.world
            link
            fedilink
            English
            arrow-up
            4
            ·
            10 months ago

            Yep all my public repos have it on a ci job. When you have a library that is used on many different projects, I want to be able to read the prs.

          • flashgnash@lemm.ee
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            10 months ago

            That does sound nice to me too. I’ve found prettier with format on save works pretty well but that means you have to set it up in every editor

            • RustyNova@lemmy.world
              link
              fedilink
              arrow-up
              8
              ·
              10 months ago

              Format on save is a godsend. Copy paste something with whole indentation? Ctrl-s, it’s back to normal. Did some wacky nested anonymous function calls? Ctrl-s, and they’re laid out nicely.

              • GissaMittJobb@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                10 months ago

                I honestly almost golf my code nowadays and just let the tooling fix formatting for me. The space bar and enter key are in an ideal world vestigial for the purposes of programming.

                • RustyNova@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  10 months ago

                  I’ll always say that the best code editor is the one that makes you put your idea onto a file the fastest.

                  So yeah, you shouldn’t worry about style and code lint. You should worry if your code is sound and works. Keep your mind on the logic, not the extras

    • AggressivelyPassive@feddit.de
      link
      fedilink
      arrow-up
      14
      ·
      10 months ago

      It’s interesting that something this minor gets people so upset. I mean, I get it, but objectively it’s weird of us.

      I had a debate years ago about test naming. When I was a junior, the lead dev used test methods with an underscore separating different cases. Like testServiceConnector_success(). I thought that’s pretty neat and kept that style. In another project one of the devs almost had a meltdown because I dared introducing underscore scum into “his” project.

      • Australis13@fedia.io
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        10 months ago

        I think it’s just that we’re possessive/protective of “our” code, even more so if one is passionate about programming. We’ve put a lot of effort into it, then somebody else comes along and “ruins” our “perfect” (to our eyes) formatting/styling!

    • EtzBetz@feddit.de
      link
      fedilink
      arrow-up
      8
      ·
      10 months ago

      Last year I had a module for ai stuff. We did things in Python and I am quite into doing things as coding standards say. My mate didn’t really care so much and just went for his style of doing things, also not really worrying about descriptive names etc.

      Well, let’s say, we weren’t having a good time.

      I also realized that I was probably too harsh and tried to go a bit more easy on it later, but many things just felt wrong.

      • GBU_28@lemm.ee
        link
        fedilink
        English
        arrow-up
        9
        ·
        10 months ago

        Add black, isort and flake 8 to your repo, you can set it up to be applied on commit.

        So folks can modify their local config all they like, and when they push it’s to the team standard and when they work locally it’s to theirs. It’s the best.

  • RustyNova@lemmy.world
    link
    fedilink
    arrow-up
    20
    ·
    10 months ago

    I work on a proprietary language that translates everything to uppercase before compiling. So having a specific case is useless. The standard functions all have wacky cases. Some from the same module may use CamelCase, while it’s brother use snake_case.

    … I just use Rust’s style. Simple, easy.

      • Deckweiss@lemmy.world
        link
        fedilink
        arrow-up
        15
        arrow-down
        1
        ·
        edit-2
        10 months ago

        Ah well… Guess I’m lucky that it doesn’t bother me.

        I use different languages with different style guides and my IDE autoformats everything properly with the click of a button so I don’t think about naming strategies at all.

    • RustyNova@lemmy.world
      link
      fedilink
      arrow-up
      36
      ·
      10 months ago

      Classes often have camelCase or PascalCase. Snake cases often are for variables or functions.

      I don’t remember the java standards, but it’s enough to get it

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        10 months ago

        The Java standard is ClassName, variableName, FINAL_VALUE_NAME.

        It’s derived from a popular C++ standard. (But C++ has many for you to pick.)

        Python is the one that likes snake_case, but it’s for variables, as you said. Classes are still PascalCase.

      • bassomitron@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        edit-2
        10 months ago

        In college and workplace, all java projects I ever worked with used camelCase. Whether that’s the official stance of Java or not, I don’t recall.

        • Baut [she/her] auf.@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          8
          ·
          edit-2
          10 months ago

          But also classes? In Java, I normally see camelcase (objects, variables, functions, …) except for class definitions, which are PascalCase.
          The package itself often is snakecase though iirc?

            • OR3X@lemm.ee
              link
              fedilink
              arrow-up
              1
              ·
              10 months ago

              Same I was taught. Think it’s official. Professor was a stickler for following official rules so I doubt he would deviate.

      • Cosmic Cleric@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        When you’re telling a joke to a bunch of computer programmer nerds, you got to tell them what programming language the joke is in, or else it just falls flat.

        • RustyNova@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          10 months ago

          Always type the name of the language after opening your joke block. If your language is known enough, you may have syntax highlighting as well!

    • 520@kbin.social
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      10 months ago

      So this looks like it’s based in Java code.

      A public class means that any bit of Java code, including that injected by an attacker, can see and mess with the contents of that class.

      A private class, in contrast, means that other bits of Java code are restricted to running the class’s predefined functions.

      In theory it is supposed to help with the security of the data. In practice if an attacker gets to this point, you’ve got much bigger issues.

      • po-lina-ergi@kbin.social
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        10 months ago

        Private Vs public has nothing to do with security

        If people can execute arbitrary code in your app, they can already read your memory, and even if they couldn’t they could use java reflection to just turn off the private modifier

        Accessibility modifiers are to do with maintainability. If you have internal implementation logic that should be hidden from a consumer you don’t want that consumer to have to know about things they shouldn’t be changing anyway.

        The comic is just about how classnames in java should be in pascal case

    • aDogCalledSpot
      link
      fedilink
      English
      arrow-up
      14
      ·
      10 months ago

      I think Rust actually is actually among the best in this regard for the simple reason that there is consistency given by the compiler. A simple cargo fmt and cargo build will fix or warn you about everything. I can read into Rust codebases so quickly. C++ was always really exhausting because most of the time you were just getting used to the code style.

      • ramirezmike@programming.dev
        link
        fedilink
        arrow-up
        6
        arrow-down
        1
        ·
        10 months ago

        I’ve found whenever people complain about rust code they can only point out how it’s different but not why it’s worse and I can usually point to a reason why it’s better.

        to be fair, I get sometimes it’s difficult to pinpoint why something is bad and even “being different” can be a legitimate criticism on its own

        • hansl@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          10 months ago

          People who learnt structural OOP without actually understanding typing system and their benefits really struggle with learning Rist as they try to map classes onto structs and it just doesn’t work.

          Traits are not inheritance. Box is not polymorphism. Rust is not C++ with more keywords.

      • jroid8@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        It IS fine, I though the comic was referring snake_case as disgusting. I was uncomfortable too at first but I got used to it

        • Croquette@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          I used to be a PascalCase guy myself, but that changed recently when I had to use React (coming from embbeded C)

          I am working with a C embedded framework that uses snake_case, and switching between the two, I realized that it is a lot easier to find information with snake_case for me.

    • flashgnash@lemm.ee
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      10 months ago

      I don’t get why every language seems to have its own coding style when you’d think they’d be completely interchangeable depending on user/org/project maintainer preference

      • RustyNova@lemmy.world
        link
        fedilink
        arrow-up
        21
        arrow-down
        1
        ·
        10 months ago

        Having a standardized codding styles allows people to immediately recognise things, and not have a wacky case mix.

        You don’t need to remember the coding style of one specific project. You just need to remember the style of the language

        Of course it would be better if it was standardized for every language, but that’s probably never going to happen

  • tunawasherepoo@iusearchlinux.fyi
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    10 months ago

    What is the freakout?!?!?!?!?!?!?!? Maybe i want to read other people’s code in a wacky comic-looking silly goofy totally awesome monospaced font!?!?!?!