Re:Ask HN: How do you avoid bikeshedding?
by eternityforest on Friday April 08, 2022 @11:46PM
(#30965133)
I follow standards unless there is a very good reason. Usually if I do something nonstandard, it's because the standard thing isn't as suitable for automation, or just isn't reasonable at all.
Like, literally, if I have to make an arbitrary choice, I'll look at everyone else in the space and see what they're doing.
I'm not developing standalone projects, I'm developing plugins, for an imaginary suite that consists of all the other software in common use.
Like, plaintext vs database. My first factor to consider is Git, syncthing, and other such tools. Git likes plaintext. If it's something that should be versioned, synced, partially updated, etc, I'll probably use text files.
Coding style? Use the official one for the language. There isn't one? Use whatever is most common in your top 10 favorite libraries.
Choosing a framework? I look at what's mature and still popular and doesn't seem to have lots of people migrating away from it. I'm looking for stuff that will be around in 10 years, and where questions can easily be googled.
Totally arbitrary API structuring choice? If 2 or 3 other people do something similar, why not do the same?
There's enough value in standardization that it doesn't make sense to give it up for no reason.
Elegant beautiful stuff is still stuff you have to maintain and document and explain and argue about. Follow existing standards, and you can just point to PEP-8 and say "We use that" or "Our API is based on X, if you want to add something see that for a reference".
Like, literally, if I have to make an arbitrary choice, I'll look at everyone else in the space and see what they're doing.
I'm not developing standalone projects, I'm developing plugins, for an imaginary suite that consists of all the other software in common use.
Like, plaintext vs database. My first factor to consider is Git, syncthing, and other such tools. Git likes plaintext. If it's something that should be versioned, synced, partially updated, etc, I'll probably use text files.
Coding style? Use the official one for the language. There isn't one? Use whatever is most common in your top 10 favorite libraries.
Choosing a framework? I look at what's mature and still popular and doesn't seem to have lots of people migrating away from it. I'm looking for stuff that will be around in 10 years, and where questions can easily be googled.
Totally arbitrary API structuring choice? If 2 or 3 other people do something similar, why not do the same?
There's enough value in standardization that it doesn't make sense to give it up for no reason.
Elegant beautiful stuff is still stuff you have to maintain and document and explain and argue about. Follow existing standards, and you can just point to PEP-8 and say "We use that" or "Our API is based on X, if you want to add something see that for a reference".