• Zangoose@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      23
      ·
      1 year 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

      • roadrunner_ex@lemmy.ca
        link
        fedilink
        English
        arrow-up
        8
        ·
        1 year 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
          3
          ·
          1 year 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
          3
          ·
          1 year 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
            6
            ·
            1 year 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
            ·
            1 year 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.

      • 0xSim@fedia.io
        link
        fedilink
        arrow-up
        8
        ·
        1 year 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.