• @count_dongulus@lemmy.world
    link
    fedilink
    72 days ago

    Consistency is NOT the most important thing. Correctness is. This guy has been in the trenches flinging shit too long. I work with vendors and do my best to use the subset of their product that actually works correctly. I don’t want new features to work like shit just because the old ones did too.

    • @lysdexic@programming.devOP
      link
      fedilink
      English
      162 days ago

      Consistency is NOT the most important thing. Correctness is.

      What point do you think you’re making? I mean, do you think anyone looks at a PR and says “this PR is clearly wrong, but it’s so consistent that I must approve it.” That’s obviously not the point, is it?

      • I’ve definitely seen “this is more correct, but all the other code does it like this so can you change it?”

        I can’t say I entirely disagree with it either - usually the “more correct” is not “the existing code doesn’t work at all”, and keeping it consistent makes it easier to fix all of the code later, because you’re only fixing one style instead of two (or more).

    • @arendjr@programming.dev
      link
      fedilink
      122 days ago

      I found the title of that section slightly triggering too, but the argument they lay down actually makes sense. Consistency helps you to achieve correctness in large codebases, because it means you don’t have to reinvent what is correct over and over in separate pockets of the codebase. Such pockets also make incremental improvements to the codebase harder and harder, so they do come back to bite you.

      Your example of vendors doesn’t relate to that, because you don’t control your vendor’s code. But you do control your organisation’s.

      • @nous@programming.dev
        link
        fedilink
        English
        42 days ago

        Consistency as a means to correctness still means correctness is the more important aspect. Far too many projects and people that go hard on some methodologies and practices lose sight of their main goal and start focusing on the methods instead. Even to the point were the methods are no longer working toward the goal they originally set out to accomplish.

        Always have the goal in mind, once your practices start to interfere with that goal then it is time to rethink them.

        • @arendjr@programming.dev
          link
          fedilink
          52 days ago

          I’m not arguing against that. Merely providing some counterweight to the idea that the author was “flinging shit in the trenches” 😅

    • magic_lobster_party
      link
      fedilink
      32 days ago

      From a maintainability point of view consistency is important. I’d rather work with an consistent but incorrect code, than correct bit inconsistent code. With a consistent code base it’s easier to do something about the incorrectness, especially if it’s consistently incorrect. It’s also easier to delegate the work.

      Code is rarely correct forever. Sooner or later, requirements will change. What once was thought to be correct is no longer correct. It’s difficult to do anything about it if the code is inconsistent as well. It requires a lot of mental effort to understand the thought process behind some code.

      I agree that correctness is the goal, but consistency is one of the best ways to ensure this goal.