this post was submitted on 09 Oct 2025
47 points (100.0% liked)

Programming

23042 readers
122 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 2 years ago
MODERATORS
 

I’m curious which software design principles you find most valuable in real projects.

Two concise summaries I’ve found:

you are viewing a single comment's thread
view the rest of the comments
[–] Djehngo@lemmy.world 3 points 1 day ago

Don't design for having a nice codebase today, design for having a clean codebase after 3 months of Devs copy pasting one bit of code then tweaking it to do what they need or adding more fields to existing concepts.

This generally means it's best to have one pattern for a given thing, rather than having several patterns you pick based on context, the later runs into problems:

  • Someone copy/pasted pattern A for a pattern B context
  • Enough stuff changes in a pattern A implementation that it would now be better as a patter B thing.

A second consideration for this is that if there are a group of classes/files/whatever that regularly needs to be copied they should live together. If there are different sections of the code that needs to be edited when creating a new resource, they should be kept in one place and kept small-ish.

Most of this comes from accepting the way people tend to work and from the perspective that software is a living evolving process and only regarding a snapshot of it misses vital information.