4 ms·
Definitely. Only make something configurable if you know there are people you want to use the software who will use different values for that configuration. Inf
by l0b0 5y ago
Definitely. Only make something configurable if you know there are people you want to use the software who will use different values for that configuration. Infinite flexibility equals infinite complexity.
- hinkley 5y agoInfinite complexity doesn’t really phase people. But pointing out that infinite flexibility means an infinite test surface, sometimes gives people pause.
- noduerme 5y agoBut can you know how people will use your software? I think it's better to plan for the unexpected, and just make sure each individual part doesn't affect the others. For example, CSS basically offers infinite flexibility in a graphics model, often with unforeseen run-on consequences within the document. People use it in all kinds of crazy ways. But it's not a big deal, because it doesn't usually interfere with app logic on any deeper level. A narrower case to make could be, it's actually good to offer tons of options, just make them all, like, optional and isolated.
- mannykannot 5y ago> But can you know how people will use your software? This is one of the many areas where good judgement matters, and where good judgement cannot be bought through a collection of judgement-free rules. One reasonable rule of thumb, however, is that something intended to be general-purpose (like CSS) will probably need lots of options.