(to anyone who answered my questions in the past: Please don't take this the wrong way! No offense intended!)
I sometimes ask a question where I try to reduce my actual use case to a more simple example. E.g. something with animals and flowers.
Or I present a choice between two alternatives, trying to find out which is better.
Sometimes, instead of addressing the question, people question the (possibly flawed) metaphors, or the given alternatives.
E.g. I would ask "Should I go by bike or walk?" and then someone would say "Take the bus.". Or if I give a simplified code example, someone might say "foo() is a stupid function name." or "Why would you write a class to calculate 1+1?"
I think the problem here is that the answerer does not know why I constructed this bike vs walking alternative. Maybe I really don't know that buses exist. So then "take the bus" would be the perfect answer. Whereas if you assume that I really only have those two available, the correct answer might be "bike is faster, unless it is a very short distance.".
I think a better answer in such cases would be "I personally would take the bus. But if I had the choice between bike and walking, I would take the bike. Only on short distances I would walk.". This addresses both the literal question as well as the situation where the asker did not know that buses exist.
So my question here would be: Do I need to ask my questions in a way that avoids "take the bus" answers, or should we instead tell answerers to assume that there are "reasons" why a question is asked the way it is, and accept that "take the bus" is outside the scope of possible answers?
I intend this thread to be generic. But in case you are wondering, the Q/A that led to this post was this: Parameter to control whether to throw an exception or return null - good practice?
By no means do I want to debase the answer and effort by Ewan. It just did not address the main thing I was looking for.