• Mr. Satan@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    semicolons? quotes? use a formatter and don’t think about it. I think js world has basically done this already.

    It’s nice when a codebase has sane formatter conventions. I can’t say that my workplace does, tho…

    const arrow over named function? gets rid of all the legacy behaviors and apis. no arguments, consistent this, and no hoisting or accidental reassignment. the 2 places you should ever use named fn are generator or if you actually need `this

    How is having arguments and this an issue? If one doesn’t need them, then it can be just left unused. I really don’t get this argument. It makes everything visually a variable. I see no benefit to this convention and actively despise it.

    • brian@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      I’ve worked at several places that didn’t have formatters when I started. they did by the time I left. you can incrementally adopt them and if it’s automated most people at worst don’t care. advocate for things you want

      reassignment and hoisting are the significant ones. behavior around this does just seem more intuitive than otherwise when it comes up, so I think telling especially new devs to use const arrow fn everywhere but classes is a reasonable rule

      hate to break it to you but it behaves like a variable either way. function just behaves closer to a var variable. const fns are less like variables since no assignment. intellisense/devtools all show them just fine. it really is just a minor aesthetic difference on the definition

      • Mr. Satan@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        I’ve worked at several places that didn’t have formatters when I started. they did by the time I left. you can incrementally adopt them and if it’s automated most people at worst don’t care. advocate for things you want

        We use formatters, I just disagree with our current conventions (nitpicky, I know).

        hate to break it to you but it behaves like a variable either way. function just behaves closer to a var variable. const fns are less like variables since no assignment. intellisense/devtools all show them just fine. it really is just a minor aesthetic difference on the definition

        To me it’s about readability and declaring everything as const goes against that.
        What benefits does it have? Using this in arrow functions is still valid it’s just that they will use parent scope to resolve it. You saying it doesn’t have this or arguments doesn’t convey any benefits (nor real drawbacks) to me. Hence the convention feels useless at best.