• @realharo@lemm.ee
    cake
    link
    fedilink
    29
    edit-2
    10 months ago

    Anything for indent (barely matters, as long as the editor forces it to stay consistent), and fuck alignment, just put things on a new line.

    • z3bra
      link
      16
      edit-2
      10 months ago
      struct Ident arr = [
      {
      .id
      = 0,
      .name
      = "Bob",
      .pubkey
      = "",
      .privkey
      = ""
      },
      {
      .id
      = 1,
      .name
      = "Alice",
      .pubkey
      = "",
      .privkey
      = ""
      }
      ];
      
      • @realharo@lemm.ee
        cake
        link
        fedilink
        17
        edit-2
        10 months ago

        Not like that, lol

        Just saying, instead of this monstrosity

        CreateOrderRequest(user,
                           productDetails,
                           pricingCalculator,
                           order => order.internalNumber)
        

        Just use

        CreateOrderRequest(
            user,
            ...
        

        Putting the first argument on a separate line.

        Same if you have an if using a bunch of and (one condition per line, first one on a new line instead of same line as the if) and similar situations.

        • @Lmaydev@programming.dev
          link
          fedilink
          810 months ago

          People seem to have a real issue with using new lines and I’ve never quite understod why.

          It feels like a lot of those people are using notepad like applications instead of coding focused ones with collapsible regions etc.

        • z3bra
          link
          6
          edit-2
          10 months ago

          When I talk about alignment it’s not about function arguments, but values, “=” signs and such. You simply cannot use tabs for that because alignment must be fixed and indentation independent:

          CreateOrderRequest(
              user,
              productDetails     => order.detail,
              pricingCalculator  => DEFAULT_CALCULATOR,
              order              => order.internalNumber)
          
          • @realharo@lemm.ee
            cake
            link
            fedilink
            10
            edit-2
            10 months ago

            I normally avoid that too, I find it hurts readability more than helps, plus a proper IDE will separate it with color anyway.

            But yeah, the newline comment doesn’t apply to this.

            • z3bra
              link
              110 months ago

              To each their own indeed. But my rule of thumb is: only use tabs when there’s no other character before it (aka, start of line).

              • Nate Cox
                link
                fedilink
                English
                110 months ago

                The emacs wiki agrees and has the correct take on this: https://www.emacswiki.org/emacs/SmartTabs

                It seems like this basic guideline, tabs to indent and spaces to align, solves the problem for everyone. It doesn’t matter what your tab width is, it’ll look “right” regardless.

          • PHLAK
            link
            fedilink
            English
            610 months ago

            This kind of “manual” alignment should be avoided for many reasons including the fact that adding/removing/changing of one parameter here may force you to modify multiple lines which on it’s own is annoying but this will also show up in the diff during review making it harder to grep what was actually changed.

            • z3bra
              link
              210 months ago

              I personally favor code readability over patch readability. But I reckon this is a matter of preference so I can understand how you might not like that.

          • @catastrophicblues@lemmy.ca
            link
            fedilink
            410 months ago

            Yeah I agree I don’t find alignment very useful. It’s more work for dubious benefit, and god forbid you change one of the lines.

    • @milo128@lemm.ee
      link
      fedilink
      010 months ago

      seconded on not aligning things. its the whole source of the problem in the first place and doesnt even serve a purpose

      • @MajorHavoc@lemmy.world
        link
        fedilink
        110 months ago

        It does help with reducing thrashing between edits in git diffs. Or rather, opinionated autoformatters do, which is the only reason I bother with alignment.