this post was submitted on 16 May 2024
77 points (98.7% liked)
Programming
17524 readers
432 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 [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Follow up question -- I'm not OP but I'm another not-really-new developer (5 years professional xp) that has 0 experience working with others:
I have trouble understanding where to go on the spectrum of "light touch" and "doing a really good job". (Tldr) How should a contributor gauge whether to make big changes to "do it right" or to do it a little hacky just to get the job done?
For example, I wanted to make a dark mode for a site i use, so i pulled the sites's repo down and got into it.
The CSS was a mess. I've done dark modes for a bunch of my own projects, and I basically just assign variables (--foreground-color, --background-color), and then swap their assignments by the presence or absence of a ".dark-mode" class in the body tag.
But the site had like 30 shades of every color, like, imperceptibly different shades of red or green. My guess was the person used a color picker and just eyeballed it.
If the site was mine, I would normalize them all but there was such a range -- some being more than 10-15% different from each other -- so i tried to strike a balance in my normalization. I felt unsure whether this was done by someone who just doesn't give a crap about color/CSS or if it was carefully considered color selection.
My PR wasn't accepted (though the devs had said in discord that i could/should submit a PR for it). I don't mind that it wasn't accepted, but i just don't know why. I don't want to accidentally step on toes or to violate dev culture norms.
When you work in enough diverse codebases, with enough diverse contributors, you begin to understand there isn’t one objectively right way. There are many objectively wrong ways to do something. Picking a way to do a certain task is about picking from tradeoffs. A disturbingly common tradeoff is picking rapid development over long term maintainability, but that isn’t not the right way to do it in a competitive space.
Needs change over time and certain tradoffs may no longer apply. You’re likely to see better success making lots of little hacky fixes until it’s not a hack anymore because you’ve morphed it slowly over time.
Version control, git et al, allows you to make multiple commits in a single PR, so you could break the changes up to be more reviewable.