An unhelpful Help Center…

Questions asking for open-ended suggestions to improve working pieces of code appear to be unwelcome on Stack Overflow, and many such questions do get closed. However, it's not obvious why such questions would be against by the rules. Some excerpts from the Help Center:


  • a specific programming problem, or
  • a software algorithm, or
  • software tools commonly used by programmers; and is
  • a practical, answerable problem that is unique to software development

… then you’re in the right place to ask your question!


  1. Questions seeking debugging help ("why isn't this code working?") must include…
  2. Questions about a problem that can no longer be reproduced or that was caused by a simple typographical error.…
  3. Questions asking for homework help must include a summary of the work you've done so far…
  4. Questions asking us to recommend … off-site resource
  5. Questions about general computing hardware and software
  6. Questions on professional server, networking, or related infrastructure administration

That's a lot of specific prohibitions, yet there is no explicit prohibition against requests for open-ended critiques. The de facto prohibition appears to hinge entirely on one word in the page: specific. That's a Help Center page that isn't helpful. If this were code, the adjective I'd pick to describe it would be underhanded.

… leads to befuddled users.

Although there is no bullet item explicitly prohibiting code critique requests, many users believe that such questions are off-topic. Every few hours, somebody votes to close a question with this custom reason, or some variant of it:

I'm voting to close this question because it belongs to codereview.stackexchange.com.

By Stack Exchange network policy, a question being a better fit elsewhere is insufficient grounds for closing a question — it actually needs to be off-topic. And this commonly given reason fails to explain what Stack Overflow rule makes it off-topic, or what kinds of questions are actually appropriate for Code Review. The problem is, when the phrase "belongs on Code Review" gets tossed around with no explanation, users start parroting the meme any time they see a lot of code.

This confusion leads to a bad experience for all users involved, especially for the poor author of the question, who is barraged by downvotes, close votes, advice to re-post the question, advice to flag for migration, and rebuttal comments as other members squabble over the fate of the question.

And the original poster might not have even done anything wrong to deserve such treatment, since the Help Center didn't provide good guidance.

The "proper" procedure…

According to the current rules, the proper procedure for closing such questions is to use "Too broad" as the closure reason, and leave a free-form comment.

… is unintuitive.

I had to ask a moderator in chat to learn that procedure.

A question like "How do I get started with writing my first Android app?" is Too Broad. There is no reasonable good answer for that kind of question, because a thorough treatment could be a book.

But using the same reason to shut down a question like "How can I improve my solution to Project Euler Problem 7?" takes a stretch of the imagination. That kind of question, though non-specific, is entirely answerable. In fact, there is an entire site entirely dedicated to such questions, which proves that such questions are not, in fact, Too Broad.

Rather, Stack Overflow chooses to rule these non-specific questions as out-of-scope. In other words, non-specific code critique requests are not too broad — they are off-topic.

As an analogy, look at English Language and Usage. Do they say that proofreading requests are "Too Broad?" No, proofreading requests have their own explicit off-topic reason:


Isn't that what code critique requests are? Proofreading code? This is what users mean by the shorthand expression "It belongs on Code Review". The question is intuitively off-topic, but no canned off-topic reason exists, and "Too Broad" feels wrong, so this meme is the most succinct way to express that sentiment, even though comparative forum-shopping is not a valid closure justification under Stack Exchange rules.

Improvement is needed.

Stack Overflow users deserve a better mechanism for closing non-specific code critique requests: a standard response that helps close-voters communicate their judgement accurately, and that guides question askers to get the help they seek.

To be clear: I am not saying that the existence of the Code Review site should prompt Stack Overflow to carve out a niche from its scope. Rather, it appears that Stack Overflow has always intended to treat non-specific code critique requests as off-topic, but never provided a standard way to close such questions. The growth of Code Review has merely exacerbated and exposed the latent problem. How can we fix it?

  • 2
    codereview.stackexchange.com is the StackExchange site for this sort of thing. Frankly, I'd like to see the "migrate" options opened up from the currently-severely-limited set of migration candidates to being able to migrate to any other StackExchange site - or perhaps at least those which are computer-or-software related - but that's another kettle of fish to fry. – Bob Jarvis Dec 25 '15 at 23:49
  • 3
    @BobJarvis That would be ideal, someday. For now, the Code Review community is very hesitant to open a migration path from Stack Overflow to Code Review, precisely because issues like this need to be sorted out first. When SO members aren't well versed in what is off-topic for SO and what is on-topic for CR, then CR risks getting drowned with inappropriate migrations. Since SO is many times larger than CR, even a small error rate will leave CR struggling to cope. The first step to a migration path is to replace sloppy memes like "This question belongs on Code Review" with proper reasons. – 200_success Dec 26 '15 at 0:08
  • Yeah, I can see that. But looking at your answer below made me think of something - perhaps along with subject-matter tags we need some "recommended help" types of tags. Maybe tag questions for "debugging help needed" or "algorithm enhancement" or...I don't know. And maybe these could just be new tags in the existing system rather than adding a new level of complexity. Anyways, just an idea... – Bob Jarvis Dec 26 '15 at 0:12

I propose the following new standard off-topic reason:

Questions about existing working code must identify a specific problem or concern. Requests for open-ended critiques to improve code that already works as intended may be appropriate on Code Review.

I suggest listing it after the "debugging help – MCVE" reason and before the "resource recommendation" reason.

This statement is crafted to include:

  • a reason why the question is unacceptable for Stack Overflow
  • a possible way to make it on-topic for Stack Overflow (by adding a specific problem or concern)
  • another possible way to seek advice (by re-posting on Code Review or flagging it for a moderator to migrate to Code Review)
  • a hint as to Code Review's mission (open-ended critique) and its main prerequisite (working code)
  • a link with the details about the differences between Stack Overflow and Code Review

In addition, this statement should be added to the "Some questions are still off-topic, even if they fit into one of the categories listed above" list in the Help Center.

Each site is only allowed to have at most five standard off-topic reasons. Where would we find a slot to add this reason? See this proposal to avoid overly specific recommendations for Super User and Server Fault.

  • Does SO actually get any significant number of "requests for open-ended critiques to improve code"? – yannis Dec 23 '15 at 13:19
  • 4
    @Yannis Did you take a look at the "every few hours" link? – 200_success Dec 23 '15 at 13:20
  • 8
    This would probably be better added to the Help Center instead of as a close reason. I don't know how much good it would do in either place, but I do know that people don't get to read close reasons until it's too late. – Bill the Lizard Dec 23 '15 at 13:21
  • 4
    @BilltheLizard The Help Center needs improving for sure. But I think that a standard close reason would also be helpful, since the squabble comment threads can get out of hand, especially when the "belongs on Code Review" meme is improperly applied. – 200_success Dec 23 '15 at 13:23
  • 1
    @200_success Ah, sorry, I followed your link to the answer and didn't pay much attention to the question. – yannis Dec 23 '15 at 13:23
  • @200_success While it may be more useful as a close reason, we can't add more close reasons, so which close reason would this replace? – Kevin B Dec 23 '15 at 15:53
  • 3
    @KevinB Read the last paragraph. – 200_success Dec 23 '15 at 15:53
  • 2
    Well, I'm not sure how one would argue that a request for code-review is on-topic on SO: It's not about a specific problem* (programming or not), nor an algorithm, nor a software tool (commonly used by programmers or not). It's a blanket request to identify possible improvements. – Deduplicator Dec 23 '15 at 16:59
  • Basicly, a code critique request asks for an opinion (I did it this way, how would you do it?), and we already have a reason for closing those questions. – Teemu Dec 26 '15 at 12:27
  • @Teemu If you're suggesting that code critique requests should be closed as Primarily Opinion-Based… no, we shouldn't do that. Code critiques are Good Subjective questions: the suggested changes usually make the code objectively better. We should only close such questions if they ask about pointless controversies, such as brace styles or naming conventions in languages that don't have an official style guide. – 200_success Dec 26 '15 at 17:34
  • @200_success In JS tag, we get a lot of questions like Here's my code, what's the best/fastest way to do this? Depends on the code, but usually you can't answer that without an opinion, there simply are so many ways to achieve the same. As a result, all given answers are getting down votes since whoever disagrees with whatever. Also, good answers are probably beyond OP's current skills. These are questions to vote to close as "Primarilly opinion-based". Also, the article you've linked, provides answers to be back-uped. How can you back up an arbitrary algorithm without making a mess? – Teemu Dec 26 '15 at 18:37


I agree 100%.


Ok, let's stretch our imaginations a little bit. That question title coupled with a code dump would absolutely be Too Broad in my mind. My answer might be to completely replace your code with any number of working solutions. That question title coupled with a detailed explanation of both the problem and your solution wouldn't be too broad, though, and probably wouldn't be closed in the first place. So I think this is inconclusive. A question with that title can be Too Broad, but you have to judge it based on more than the title.

(I do agree that we could use a little bit of guidance in the Help Center for people who are asking these questions, or deciding on how to close them. I myself have been guilty of telling people to ask their question on Code Review when it's really off-topic there too. CR is no longer not a migration target from SO, but it's probably worth keeping your migration checklist in mind before leaving these kinds of comments.)

  • I think that you're saying that this question should have been closed as Too Broad on Stack Overflow? That seems to point out that where the too-broad line is drawn is a consequence of the site scope. (That same question, had it been posted on Code Review, would have been fine, because CR enforces answer quality. Answers can propose a complete rewrite as long as it's justified by pointing out some issue with the original code. Answers that don't provide the justification get deleted.) – 200_success Dec 23 '15 at 14:42
  • You obviously know how to triage questions properly, but many other users don't. Do you have any suggestions for how to kill the "belongs on Code Review" meme? Because i think that it's unhealthy for both sites. – 200_success Dec 23 '15 at 14:51
  • 4
    @200_success Yes, that's a good example. It does repeat the question (instead of just linking to it, which I see a lot), but it then just dumps a solution without explaining it. None of the answers address the code in the question either. Some give a line or two of code, and some just propose completely different solutions. I don't know if any of them really help the OP with understanding how to make their code better. – Bill the Lizard Dec 23 '15 at 15:18
  • @200_success I do agree that it's a problem, but I'd want to look at how often people suggest asking off-topic questions on CR to see how big a problem it is. It might be worth an automated pop-up when a comment tries to suggest CR, just to raise awareness of that migration checklist you wrote. (It's probably a much bigger problem for CR than for SO. Do you have any idea how often you get off-topic questions on CR after one of these comments are left on SO?) – Bill the Lizard Dec 23 '15 at 15:22
  • 5
    A "belongs on CR" comment can go 4 ways: (a) Recommendation is wrong, OP reposts on bad advice, and pitchforks are raised on CR. (b) Recommendation is wrong, but someone else comments "No!" before damage occurs. (c) Recommendation is right, but someone else says "True, but what you mean is that it's Too Broad" — and the user who posts the clarification looks like a pedantic twat. (d) Recommendation is right, and goes unopposed — perpetuating the meme and the parroting hazard. Though (a) is the worst for all involved, the others are also bad. It happens once every few hours (hard to get stats). – 200_success Dec 23 '15 at 21:27
  • The pop-up suggestion is basically the blacklist I proposed. I'm not optimistic that SE is going to make that happen. – 200_success Dec 23 '15 at 21:30
  • "CR is no longer a migration target from SO" - was it ever a migration target from SO? – Simon Forsberg Dec 26 '15 at 19:49
  • @SimonForsbergMcFeely That's a good question. I thought that it once was, but my memory isn't that reliable. – Bill the Lizard Dec 26 '15 at 21:53
  • @BilltheLizard CR got full graduation quite recently and thus hasn't been eligible for a migration target until very recently. CR has never been a SO migration target AFAIK. You might be thinking about Programmers, which was removed as migration target a long while ago because they got too much crap. – Simon Forsberg Dec 26 '15 at 22:03

Such questions sometimes fall foul of the "Questions seeking debugging help ("why isn't this code working?")" close reason, in that the user is implicitly saying "this code is faulty" without giving a description of a fault.

  • 6
    Those questions are already easily dealt with. The first sentence of this post is: "Questions asking for open-ended suggestions to improve working pieces of code…" – 200_success Dec 23 '15 at 19:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .