23
skullyB
9y

Anyone else work in a codebase that is so deeply convoluted, that the only way to make new features work is to write new code in a similarly convoluted way?

Everyone wants to refactor our system, but we're a small shop with an insane amount of technical debt, so it likely won't happen for a long time. Any suggestions in the meantime? I feel like I'm spending more time figuring out how to make something work in our system then learning actual good practices.

Comments
  • 6
    Look for a new job
  • 8
    We are stuck on a framework that was last updated in 2006... I've found that getting management buy in to get time for refactoring is almost impossible, so my current strategy (asking with a few other devs at my job):

    - When you have to touch existing code, reactor what you can.
    - If there's no documentation (there won't be), document.
    - Write tests for new code (bonus points if you can get them to let you integrate with the build process!)
    - Lead by example, and include your peers, especially the complacent ones. They may be hard to get on board because they've been burnt, but once they're in, it's worth the effort!
    - Overestimate the time it will take to complete work to allow more time to reactor
    - Get code reviews going

    At the rate I'm going it'll be ten years before we eliminate all the technical debt, but it's definitely better than when I started!
  • 0
    CakePHP? Haha
  • 0
    Well I mainly maintain old, procedural, codebases with little to no documentation (maybe an '//apparently this works' every here and there) and for me it's just getting to learn the whole codebase and keep writing the same spaghetti code when stuff needs to be fixed...
  • 0
    get out of there asap
  • 2
    My first job was like this with a handful of .Net 1.1 sites. I didn't even know until I moved on how screwed up it was. Learned so many bad habits. Thanks first job.
Add Comment