Better to pop in something like this:
> I have a question, should take you X (second|minutes), ping me when you're free
If I'm busy I can ignore it, if I have an expected time of availability I can send that back, and if I'm free now I can send back a "Go!"
I strive to get into flow, but sometimes the overall context is such that people should be able to break that with urgent questions. Popping non-urgent questions into my time-line breaks flow and is a destroyer of productivity
So "it depends" - having blanket rules such as proposed in the post can be counter-productive.
Edit: I get that not everyone will agree with me, but it's so, so annoying to construct what I hope is a clear, reasoned response, just to get a downvote. And no, this isn't a complaint about getting the downvote, I've learned to expect downvotes when I express a contrary view, even one as mild as this. No, this is an expression of disappointment that someone just won't engage in the discussion. Very disappointing ... usually HN is better than that.