3 ms·
But at the same time, just about every software engineering decision has a long tail of oddball edge cases. You could use any of these to justify a new "Falseho
by throwawaymath 8y ago
But at the same time, just about every software engineering decision has a long tail of oddball edge cases. You could use any of these to justify a new "Falsehoods Programmers Believe About X" principle, but for many of them it's (in my opinion) vacuous to bother because it's either unnecessary to deal with it or it's legitimately strange and exceptionally suboptimal for the client to be designed that way.
For example, I don't really have a problem with the way Youtube presents itself on the iPhone X screen in landscape mode. It's not perfect, but nothing is actually breaking. There is some unused screen real estate. There isn't so much a falsehood here as an aversion to a more sophisticated screen filling methodology. If someone were to view YouTube in a screen shaped like a circle, the YouTube developers would have a strong argument that's not a fact of life but an oddball thing to do, and consequently not support it.
Conversely there are legitimate consequences if you make false assumptions about e.g. foreign language encodings, email validation, characters present in human names, etc. These are domains with edge cases that have a huge number of unknown unknowns due to very culturally significant and non-dismissable reasons. You also can't really skimp out on designing for them because doing so could completely break functionality or introduce security vulnerabilities.