Spent an hour today renaming env vars across three services to make them “consistent.” Broke staging in the process because one service cached the old values. Should’ve just left the mess alone — it worked fine before I touched it.

  • CombatWombat@feddit.online
    link
    fedilink
    English
    arrow-up
    35
    ·
    14 hours ago

    I had a senior early on in my career who took pride in producing the smallest diff possible to solve any given ticket and I thought it was so strange – I’m already in the file, why not clean up a bit? In hindsight, they were entirely right, and I always regret doing just a little cleanup without it being strictly necessary.

    • Lysergid@lemmy.ml
      link
      fedilink
      arrow-up
      22
      ·
      14 hours ago

      You can have both. Just not in one MR. Do what is needed, push, branch off, do what is nice

      • deadcream@sopuli.xyz
        link
        fedilink
        arrow-up
        12
        ·
        13 hours ago

        Not if your team’s policy is that every MR must be associated with a Jira ticket for a bug/feature and creating tickets for refactoring/cleanups is simply not done.

        • cecilkorik@lemmy.ca
          link
          fedilink
          English
          arrow-up
          5
          ·
          8 hours ago

          I just tag it with the same ticket I was working on when I discovered it needed cleanup. My logic is, it IS directly related to that ticket because that’s when the file was being touched, which implies it’s time is due to clean up some of its technical debt. Nobody’s ever challenged it and I see other people doing similar things. It depends on the company culture, obviously, but it’s not necessarily a no-go.

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

          Just make the ticket. Be the change you want to see.

          Or, as suggested, just attach it to the ticket you were working on like it’s an omnibus.

      • kibiz0r@midwest.social
        link
        fedilink
        English
        arrow-up
        10
        ·
        12 hours ago

        Agreed.

        I’m also a fan of Kent Beck’s “make the change easy, then make the easy change”.

        i.e. Do one PR that changes the code’s design but not its behavior, in order to make the next feature easier to implement. Then do another PR that changes just the behavior but not the design.

        This way, you get earlier feedback on refactors and you keep behavior PRs small so you reduce the likelihood of the scenario where “we really need to ship this feature but it’s tied to this massive refactor that isn’t quite right”.

        (Note that this is just for the case where a feature genuinely requires a refactor. If it’s just “boy-scouting”, then order shouldn’t matter but you should still keep them separate.)

    • tryagain@sopuli.xyz
      link
      fedilink
      arrow-up
      8
      ·
      14 hours ago

      I’m so, so guilty of this. But that’s also because I’ve inherited a codebase that’s almost comically badly structured and every file I open is a new outrage.