• Avicenna@programming.dev
    link
    fedilink
    arrow-up
    16
    ·
    10 hours ago

    I can imagine multiple scenarios where this could be useful. Simplest is perhaps the coder imagined at the time they could extend the function in later stages.

        • bleistift2@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          11
          ·
          6 hours ago

          “You ain’t gonna need it”. It means: Build the thing you need now and don’t try to predict what you’ll need in 3 years. You ain’t gonna need it anyway.

      • Avicenna@programming.dev
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        8 hours ago

        I think it is a balance. Despite having quite functional IDEs now a days, it is still more error prone to change 10 instances of math.random than a single function you define modularly. If you think there is a good chance such an extension might be needed in future or that you might want to change libraries later on, I wouldn’t necessarily call this a bad decision, even if it goes unused.

        YAGNI works best when it prevents adding complex unused futures which are error prone and complicates a simpler program logic and flow. In this case you are just encapsulating a function inside another one without any change to program complexity.

        • Jesus_666@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          7 hours ago

          It definitely depends on the use case. I could accept this being abstracted out to facilitate mocking, for instance (although I’d recommend mocking at a higher level). But in general this wouldn’t pass review with me unless I get a good explanation for why it’s necessary.