this post was submitted on 15 Oct 2024
69 points (97.3% liked)

Programming

17402 readers
105 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
top 8 comments
sorted by: hot top controversial new old
[–] xmunk@sh.itjust.works 29 points 4 weeks ago (3 children)

You know what attribute of a code base is more valuable than any other? Maintainability.

Every project ever should emphasize maintainability over performance, cleverness, etc... because this is the true long term cost of code. If it's difficult to understand why or how something is how it is then you'll pay a lot more to bugfix it and improve it over time.

This attribute is opposed (mostly) to flexible prototyping so a really good senior dev will be able to transition a greenfield project into one that's structured for long term usability.

[–] ClanOfTheOcho@lemmy.world 6 points 4 weeks ago (1 children)

This is my mantra. Maintainability is king. I can't convince anyone designing our systems that this is more important than fancy 3rd party libraries that add some capability that only a couple of people will ever understand how to use, but will find it's way throughout the codebase and be a thorn in the side of bug fixes and new features for years.

[–] xmunk@sh.itjust.works 9 points 4 weeks ago

Ah see, at my current company I'm employee 2/120 so I have adamantly advocated for this.

It's definitely a hard fucking sell though, nobody outside of the developers wants to invest in maintainability, bug fixing or infrastructure upgrades - you just need to force that shit through with clout. One thing I've found that helps is to try and form a technology steering committee that can try to advocate for the necessary investments. Approaching a problem as a group or talking to your manager about setting aside dedicated time to figure out which issues are most pressing can be quite effective. There is usually a trust barrier to overcome to allocate that time though.

[–] realharo@lemm.ee 5 points 4 weeks ago

That's cool if people can agree on what maintainability is, which changes improve it and which changes hurt it.

You can get two people arguing for the exact opposite thing, while both of them use maintainability as an argument.

[–] Venat0r@lemmy.world 3 points 4 weeks ago

And you're never going to get an easily maintainable code base without enabling those really good senior devs who can do that. It's more nuanced than the author of the article thinks, sometimes an unweildly process gets in the way of making changes required to improve maintainability.

[–] kibiz0r@midwest.social 12 points 4 weeks ago (1 children)

prioritize process over people

Huh. I feel like that line is familiar…

Through this work we have come to value:

Individuals and interactions over processes and tools

[–] vitonsky@programming.dev 16 points 4 weeks ago

Definitely, you on the right way 😉

[–] lemmeBe@sh.itjust.works 3 points 4 weeks ago

I am the repository owner. 😈 ⬆️