To start, remember that all questions should strive to be answerable and not matters of opinion (even though I sometimes love to offer mine). My basic rules of thumb:
- If it answers the question, it belongs in the answers section.
- If you're asking a question, ask a question.
These two maxims are not mutually exclusive.
Despite the comments, I don't believe it's entirely inappropriate. Take for example my question/answer on an application of coffins: The question was interesting and the answer was useful, so it received attention (and a bit of helpful criticism). I wouldn't expect constructive criticism for a self-answer, but I would expect the same level of moderation and community education that I see with normal answers.
That said, I have also seen code posted here asking for review (see code-review and these questions in particular). It's not unprecedented, but it has its philosophical drawbacks.
code-review is inherently opinion-based. I don't mean to say we don't have many wonderfully opinionated resources on our site, but I do think we should take caution in what we allow as a rule. Comments are a fine place for short discussion. If you'd like a longer chat about it (and can find someone willing to make the time investment), post-spawned chatrooms are a good resource offered by the platform.
Frankly, I wouldn't mind seeing more code-review on the site. It's another way we can learn from each other – arguably more meaningful for the individual than the direct 'solve the problem' approach. Even in this case, the wider community benefits from having more questions answered. Still, exactly how this is approached might not be the best fit for the SE format.
In the confines of this platform, I would say asking a general question and posting a working self-answer (asking for criticism near the top) is the best course of action.