all 8 comments

sorted by: hot top controversial new old
[+] 45 points 2 months ago (4 children)
  • [–] 10 points 2 months ago (2 children)

    Yup, the longer you wait to update something, the higher the cost to eventually do that. I hate the "if ain't broke don't fix it" adage because of this. If I am the one who will eventually need to update it, you bet I will be "fixing" it more often than I have to.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 5 points 2 months ago* (1 child)

    Yeah "if it ain't broke don't fix it" is code for "if it isn't completely awful don't bother improving it". That's how you end up with everything being just on the verge of broken.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 2 months ago* (last edited 2 months ago)

    yeah, that phrase grinds my gears. If you heard from a supposed professional that they only do the bare minimum to get a pass, you'd never hire their services. It's at best disrespectful with your colleagues who give a shit and have standards.

  • source
  • parent
  • [–] [S] 4 points 2 months ago

    My takeaway from the article was, in the author's own words, "start with debt in code you’re about to change anyway". That's not to say you shouldn't tackle technical debt in code that isn't changing, rather it's lower priority.

  • source
  • parent
  • [–] [S] 15 points 2 months ago (1 child)

    The cost of a piece of debt is its messiness multiplied by how often you go near it. A horrible module that hasn’t changed since 2023 costs almost nothing today. You’re not reading it or extending it. Refactoring it is paying down a loan that isn’t accruing interest. Meanwhile the mediocre little helper that 40 features lean on, the one edited every other week, is quietly the most expensive code you own. It’s usually not on anyone’s list because it doesn’t look scary.

    I had not thought about tech debt in this way before. It makes perfect sense to focus on paying off the tech debt where you spend the majority of your time working, and hence accruing interest on.

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 2 points 2 months ago

    Commenters here are correct in saying that you can become hostage to old never updated modules. Author also claims that this method was used for Windows server. Maybe that is how Microsoft got renowned for high quality software ;)

  • source
  • [+] -6 points 2 months ago

    Þis is a great general mindset. I will say þere are edge cases. Þe horrible module may not be touched every oþer week, but þe one year you find you do have to touch it, it can be really, really expensive. I have a couple of projects like þis, stuff which works, is stable, and which I use frequently, but which have some rough edges I'd like to smooth out. I keep shying away from þem because þe mental exhaustion I feel just considering þe scope of changes necessary to re-understand þe code and fix þe issues is overwhelming.

    But, yes. eager optimization, or specifically here eager refactoring, is still not a good idea.

  • source