XY problem happens a lot in BSE, especially Python and bpy question. eg. Print all information about an object, KeyError: key not found Blender python.

Most of the time an coder write down some script, then run it, then Python throw out an Error. Coder will keep tracking that error, and ask a question on BSE if they cannot figure it out. The question itself will become that Error rather than the real problem they want to achieve in their works.

I'm fine with these question since most of the question itself is a good defined question without ambiguity. And also from a fact rather then habit or personal opinion. We could directly answer the X problem without referring Y problem at all. But somehow BSE are encourage to let OP ask the Y problem and others should use comment to clarify whether this is an XY problem.

Let's assume we do infer about Y problem and answer the way to solve it, should we:

  1. Edit the question itself to make it Y problem.
  2. Let it still seems to be an X problem, people with the same though might search this keyword.
  3. Directly mark it duplicated with Y problem question if there exist one.

The first one seems to be rude and angry with OP knowledge about the Y problem. The second one make it possible to follow the solving flow but make answer not that directly link to the question. The third one just make the question been "closed" and may lose some other possible solution toward X problem.

Any other solution or a rule that we can follow?

  • 2
    $\begingroup$ #2 seems to be the best option here, making it easier to find for future users, reducing the chances of recurrence , unless a duplicate exists, in which case it should be closed. When answering ideally address X if any solution exist, then succinctly explain why Y is better before presenting a solution. $\endgroup$ Aug 13 '20 at 8:05
  • 3
    $\begingroup$ Option 2 and Option 4 (which is what I do): Explain to people what the XY problem is in the comments and try and get them to understand that it might be to their advantage to reword their question to be about the original problem. If they don't want to edit it, answer the X problem (if you have time) but explain why that might not help. $\endgroup$ Aug 13 '20 at 10:25
  • 2
    $\begingroup$ AFAIC neither example posted is an XY Problem For the keyerror have offered up a Y answer (I suppose) to prod OP towards using context rather than absolute naming. Your answer, which I UV'd btw, addresses issue in question.. IMO this one is blender.stackexchange.com/questions/191242/… (needs title fix as its a nameless nodetree) in that to the OP the issue is a nodetree with no name, whereas the problem is a node_tree reference pointing to None. $\endgroup$
    – batFINGER
    Aug 17 '20 at 13:10
  • $\begingroup$ Thanks for the replying. @batFINGER Yeah that's post is what exactly I want as an example but I couldn't find one at the time I search. That post could be possible looked same as the one with AttributeError with similar concept. These kind of problem should belong to unfamiliar with Python when OOP scripting. Which seems to be too localized to solving it's own context when title or the question itself is not change. This is almost making a dictionary with those question as key and link to the same answer. Is this good for BSE? Or there is a good way to handle, help this situation? $\endgroup$
    – HikariTW
    Aug 18 '20 at 2:21

You must log in to answer this question.

Browse other questions tagged .