6 ms·
Configs for any mildly complex piece of software ends up looking like: 30% implicit defaults that are waiting to break when you upgrade something 25% boilerpl
by bhawks 3y ago
Configs for any mildly complex piece of software ends up looking like:
30% implicit defaults that are waiting to break when you upgrade something
25% boilerplate
20% derivable from some other configuration but you just gotta set them all explicitly
10% cargo culted in through copy-pasting from the last project
5% can only ever be set to one particular value or nothing works
5% silently ignored due to typos - (some of these are causing subtle bugs and some are preventing them)
3% critical to actually doing the thing
2% used to have an effect but that was 3 versions ago
Of these flags and values only 40% have meaningful and correct documentation and 66% are different in staging and production but we are 85% sure that's ok.
Yes XML, YAML, and JSON have a ton of warts, but a good part of the problem is how we layer configurability into software systems in the first place. The serialization format can only be blamed so much.