• GissaMittJobb@lemmy.ml
    link
    fedilink
    arrow-up
    14
    arrow-down
    1
    ·
    2 months ago

    Automatically enforced deterministic formatting is the best, there’s nothing that beats it. The productivity in just being able to format on save knowing that the code will be in the ideally formatted state, along with the anti-bikeshedding properties of this strategy, makes it unbeatable.

    • h0bbl3s@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      2 months ago

      gofumpt and gofmt are the best. One of the reasons if I have a choice I’ll code in go. I heard rumblings that rust was working towards having rustfmt be a standard crate.

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

        Go is in a good position, yeah. JavaScript has prettier, which is nice. Java has google-java-format. Python has ruff, which is quite good. Kotlin has ktfmt, which I believe made a mistake with their standards by not following the standard formatting guidelines for the language, but whatever. Uniform and deterministic for the win.

      • Username@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        What do you mean? rustfmt is the de facto standard and is easily run using cargo fmt. Most projects use it along with clippy, the standard linter.

        • h0bbl3s@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          I had no idea it was standard. I had heard they had issues with it not being able to handle certain constructs so they were working on getting it to a place it would perform better. Has this changed? I’m not a rust person, but I intend to be. I’ve barely made it 1/4th way into the book (just started in the past month and I’ve been busy), but I have a good background in programming and so far it’s been super easy. I’m really enjoying how specific the compiler is, and the binary sizes vs Go.