• Zangoose@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    36
    arrow-down
    5
    ·
    10 months ago

    If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend

    • 0xSim@fedia.io
      link
      fedilink
      arrow-up
      54
      ·
      10 months ago

      The boy scout technique: fix your types when you’re working on a bug or a feature, one file at a time. Also try to use unknown instead of any for more sensitive parts, it will force you to typecheck.

      • WhatAmLemmy@lemmy.world
        link
        fedilink
        arrow-up
        26
        arrow-down
        2
        ·
        10 months ago

        The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.

        When life hands you lemons, just say fuck the lemons and bail

        • DudeDudenson@lemmings.world
          link
          fedilink
          arrow-up
          15
          ·
          edit-2
          10 months ago

          resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years

          So basically change careers

    • roadrunner_ex@lemmy.ca
      link
      fedilink
      English
      arrow-up
      15
      ·
      10 months ago

      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so any is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).

      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul

      • Lowpast@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        10 months ago

        One file at a time. Make strong pre-commit eslint rules (that way you don’t impact existing code), eventually update tsconfig. You’ll get there :)

      • Zangoose@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        3
        ·
        10 months ago

        In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.

        I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.

        • Zikeji@programming.dev
          link
          fedilink
          English
          arrow-up
          8
          ·
          10 months ago

          Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type.

        • Traister101@lemmy.today
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          10 months ago

          TypeScript is JavaScript and not in the literal it’s compiled to JS sense but in the think of TS as a linter not a language sense.