I've seen this (annoying) pattern too many times: a user posts a simple question, which I answer precisely. But then the OP says "yeah but my issue is actually like this" and proceeds to entirely change the original question, making it more complex and invalidating my answer.
I'm now forced to either change my answer, or delete it altogether. Either way, it's annoying and a waste of time.
It has been suggested to notify answer authors about the changes in When editing the question, option to notify all answer-authors? and Notify us when the question has been edited after posting an answer, which I agree it's not the right solution.
It has been suggested to simply tell the OP in a comment that he's not doing the "right thing", which I often do, but I only want to answer technical questions on Stack Overflow, not engage in netiquette education.
I propose to:
- Show a warning to the OP while editing when he's changing more than x% of the question text (adjust x to some safe value).
- Along with this warning, offer an action to post his changes as a new question instead of updating the original question. Also a link to the new question should be added along with some generic text like "I expanded this question in http://..."
I think this would make the questions a bit more immutable, thus reducing the occurrence rate of this issue. At the same time, it's not drastic like preventing any changes at all.