• @willia4@lemmy.world
    link
    fedilink
    162 years ago

    TDD is overrated. Code coverage is extremely overrated. Both of these tend to lead to a morass of tests that prove the compiler works at its most basic level while simultaneously generating a surplus of smugness about the whole situation.

    Tests have their place. Tests can be, and often are, valuable. But the easier the test is to write, the easier it would’ve been to just encode it into the type system to begin with.

    • @bamboo@lemm.ee
      link
      fedilink
      42 years ago

      As someone who works on python code and kinda hates it, type annotations and a CI pass for mypy would catch the majority of our bugs. It’s painful

    • @SpaceCowboy@lemmy.ca
      link
      fedilink
      32 years ago

      Yeah creating tests for every single method is insane. If a feature changes it’s more difficult you either have to figure out how to implement the change without changing the method, or you change the method and have update the unit test. But if you’re constantly updating the unit tests, how do you know if you might’ve broken something else that the test was intended for.

      It’s way better just to do integration tests that match the feature request. That way the feature that someone asked for will continue to work even if you decide to refactor the code.

      • @Alexstarfire@lemmy.world
        link
        fedilink
        32 years ago

        Unit tests are only worthwhile if you refractor code or write the unit tests before writing the code. We started adding unit test for most everything where I work and I think it’s far more effort than it’s worth. It’s not that it catches nothing but it catches so little I don’t think it’s worth the time spent writing them.

          • @Alexstarfire@lemmy.world
            link
            fedilink
            12 years ago

            I don’t think you understood my point. That’s exactly why I think unit tests aren’t all that useful. Most code changes require updating the unit tests so unless you change the unit tests first all that’s being done is saying, yep this works how I programmed it to work.

            • @Double_A@discuss.tchncs.de
              link
              fedilink
              1
              edit-2
              2 years ago

              But if unit tests that other people wrote unexpectedly break, you know that you changed things that you maybe didn’t mean to change.

              • @Alexstarfire@lemmy.world
                link
                fedilink
                22 years ago

                Ideally. It’s just that more often than not it means you need to update the unit tests. I can still use my fingers to count how many times a unit test has caught a mistake I made, and I’ve been at my job for 10 years.

                I’m curious if others have a different experience.