This question was prompted by this SO question

It's a classic example of a "paste in requirements and ask for working code to solve it" (typically such questions are homework, but not always).

Firstly, do we all agree these questions are off topic?

Secondly, if they are, how to close, because none of the current options are a good fit, and this situation comes up fairly often - often enough to warrant its own reason.

Currently, these questions just get down voted and commented with various "what have you tried" and "this is not a coding service" type reasons. Enough down votes lead to closure, but why not close it with a clear reason, giving the OP a chance to bring it on topic.

I propose another close reason, something like:

Questions asking us to write code for your requirements are off-topic for Stack Overflow as they are not about solving a specific problem with code, but rather are asking the community to do your work for you. Instead, make an attempt at writing code and if you encounter a problem, narrow the question to that specific problem and show what has been done so far to try solve it.

Comments? Thoughts?

To narrow this context of this question, I am not talking about narrowly focused "knowledge-based coding technique" questions that don't have code simply because the OP just don't know what line to write, or often just what method to call. For example:

How to convert a String of "bits" (1 and 0 characters) conforming to IEEE-754 to a primitive double in java?

The OP rightly senses there must be a standard/best way of doing it, and is asking for narrow guidance/advice. IMHO, such questions are of high value.

No, my question is about "whole program" type questions, where the OP typically pastes in CS coursework requirements (I have even seen done as a screenshot) that define the desired behaviour, input and output formats and even edge cases. For example:

Write a program that asks a user for her birthday, then displays the number of days she has been alive, the number of days till the next birthday and her current bio-rhythms. Reject birthdays that are more than 100 years ago or in the future. Blank input ends the program.

Why the current reasons don't apply (well):

  • Duplicate (maybe, but not relevant to this question)
  • Unclear what you're asking - nope. It's crystal clear
  • Too broad - nope. The question is narrow enough that there would be very few "good" answers
  • Primarily opinion-based - Possibly, but this doesn't capture the problem here
  • Off-topic because
    • general computing hardware and software - nope
    • professional server- or networking-related infrastructure administration - nope
    • a problem that can no longer be reproduced - nope
    • why isn't this code working? - no code at all is a degenerate edge case of this reason. No code does nothing, so of course it won't work
    • question belongs on another site - maybe, but SO seems the best fit

So then... what reason should we give these?

  • 72
    Amusingly, this was the original intent of the old "minimal understanding" OT reason... Too many cooks spoiled the broth on that one. Still, worth being wary of the problems suffered there - clearly-written "how do I do X using Y?" questions are pretty useful, even if they don't contain code. – Shog9 Oct 17 '14 at 2:10
  • 39
    @Shog9 Agree: If the requirements are very tight, eg "how do I convert a series of bits to a double value in java", it's a useful question. But if it's "how do I write a program to ask the user his birthday and tell him his age, star sign and current biorhythms", less useful. – Bohemian Oct 17 '14 at 3:03
  • 20
    @Bohemian Well that one should have its own close reason with a link to The Secret--just focus on wanting it, and the already written program will find you. – HostileFork Oct 17 '14 at 3:10
  • 62
    "Too Broad" seems to fit those; wonder if there's a way we could make that more obvious. – Shog9 Oct 17 '14 at 3:16
  • 13
    I agree. There are far too many questions on SO that clearly ask for code. I usually close such questions by giving other reason as The OP has not put any effort. It makes sense to add that to the close reasons list. – TheLostMind Oct 17 '14 at 5:16
  • 3
    I agree with the Too Broad as the closest. Adding some words that include "don't just as us to do the work" as part of this reason would be good. – GreenAsJade Oct 17 '14 at 5:58
  • 5
    I differentiate those questions with no code at all versus those that show some code and ask 'this works with X, but how do I do it with Y?'. Also I note that a lot of quick, short jquery Q&A is basically how do I select this or make that effect, and those don't cause a ruckus. It seems to be the combination of large amounts of work required together with no effort on the OP that annoys people. – Paul Oct 17 '14 at 7:38
  • 13
    @shog9 "Too broad" is closest, but it lacks the punch of "make an attempt". The affront inspired "we're not going to do your job for you" could be left tacit with the right wording. – Bohemian Oct 17 '14 at 13:23
  • 8
    I would love such a close reason, I voteclose about 6-7 questions a day for this – Marco A. Oct 17 '14 at 13:25
  • 15
    @Shog9 "To broad" doesn't fit, if question isn't too broad -- when it is stright and can be strightly answered, only OP is to lazy to find very basic, obvious solution by itself. We certainly should have such close reason. I started related disucssion today: meta.stackoverflow.com/q/274645/1469208 – trejder Oct 17 '14 at 13:37
  • 14
    Too broad does not fit. The question provides input and expected output. The only reason for closure would be "OP did not try hard enough"; too bad such option does not exist on SO. The second best reason would be "I'm closing it because I feel like doing so". – Salman A Oct 17 '14 at 13:53
  • 11
    I think this should be viewed less from the POV of which button we click than which notice is presented to the user. The proposed "We dont do your work" message provides a more specific and more applicable canned msg than either "Too Broad" or the "No Code" one. A this includes homework phrase tucked in there might not useful as well. – Ňɏssa Pøngjǣrdenlarp Oct 17 '14 at 14:04
  • 6
    @Bohemian: Attempts are not required. But adequate scoping is. If a person asks "How do I code this," and it's an answerable question, i.e. doesn't require a book chapter to answer, then I prefer that it be answered, not closed, especially if it's useful to others. – Robert Harvey Oct 17 '14 at 18:02
  • 6
    And maybe that's the key - "Too Broad" -> request for a substantial amount of work in lieu of a focused question. – Shog9 Oct 17 '14 at 18:10
  • 10
    I propose a new dmwfm.stackexchange.com site, then the "question belongs on another site" close reason will be appropriate. – Stephen P Oct 23 '14 at 19:55

13 Answers 13



Consider the following question:



(This particular question could almost certainly be closed as a duplicate, but that's a side issue here :) )

I was a lecturer in comp sci for 13 years, and the questions I set were intentionally clear and usually very specific. They almost never included code to be debugged.

We need a mechanism for closing these questions. Downvoting doesn't cut it: people still answer the questions, and that means people still ask them.

What seems to happen at the moment is that people decide they don't like such questions, and then vote to close, but for reasons that just don't apply (because none of the options covers it). That means that those who ask the questions go away frustrated and upset because they've been told their questions were too broad or unclear when they were quite specific and perfectly clear.

  • 53
    This is exactly what I am on about! The other reasons don't cover it, especially "too broad" because as you have noted they aren't at all broad. – Bohemian Oct 18 '14 at 13:00
  • 5
    To begin with a downvote on the question and all the answers will help get the question deleted. – Ian Ringrose Oct 18 '14 at 18:14
  • 2
    @Ian Ringrose the problem is that a down vote costs me rep when it's obvious the question needs flagging so we're hesitant to down vote. More importantly the OP needs the feedback of an "on hold" question reason that tells them why they can't just dump in a question and get us to do all the work, they have to take a stab at it (and in all honesty they will actually learn from doing it!) – scunliffe Oct 18 '14 at 22:45
  • 2
    @scunliffe: Downvoting questions doesn't cost rep – Bergi Oct 19 '14 at 23:34
  • 2
    @Bergi ah I didn't realize downvotes on questions were free (stackoverflow.com/help/privileges/vote-down) I think the desire to better inform the poster still stands. – scunliffe Oct 20 '14 at 1:24
  • This one can be dealt with by adding a rule "Questions with a specific performance or complexity target must include code, however slow, that gives a correct answer" – Ben Voigt Oct 21 '14 at 21:38
  • I don't think adding more close reasons will help. Even a generic "Hey, it's off-topic please read FAQ before asking" may works well for many many questions. What I would see is something we can use to quickly close them. If they won't receive help and they're publicly blamed then - at least - they won't come back the day after (or they'll learn how to use the great tool StackOverflow is). – Adriano Repetti Oct 22 '14 at 20:51
  • 2
    I disagree that this isn't "unclear what you're asking" - that blockquote is clear as a statement, but absolutely no part of it is a question. As such, it's clear what the asker's task is, but what they're asking about how to complete that task is beyond unclear - they aren't asking anything at all. – Sam Hanley Jan 12 '15 at 14:11
  • 8
    @IanRingrose: You should not downvote answers in this scenario (unless they inherently warrant one themselves). – Lightness Races in Orbit Jul 27 '15 at 12:12
  • I agree. There should be a 'no-effort' reason to close a question: meta.stackoverflow.com/questions/260828/… – Stephan Vierkant May 18 '16 at 14:02

Currently the closest match is:


Perhaps these two could be merged. "Questions soliciting others to write code or assist with debugging must..."

Because really you're setting the same bar for the question. It seems better to enumerate close reasons driven by the canon link for writing a well-formed query vs. enumerating the precise way in which each question is bad. If the link for how to fix it up would raise the same points, why bother adding ever more close reasons focused on the nuance of why that question didn't meet the bar (other than in comments?)

There are countless ways to do things wrong, but only a few to do them right. Close reasons seem like they should be about pointing people to the right link.

  • 90
    "why isn't this code working?". What if the OP has not shown any code?. :P – TheLostMind Oct 17 '14 at 5:13
  • 21
    I've hovered over this close reason, but then decided not to use it because it clearly is not what I am trying to say. I started wondering whether I'm even supposed to be voting to close questions that are "do my work for me", since there is no close reason for this purpose. – GreenAsJade Oct 17 '14 at 5:57
  • 18
  • 4
    @cybermonkey "questions seeking debugging help" - It has been discussed (or mentioned) on meta multiple times, that such questions are on topic on SO. If you don't like such questions ignore them, just as you would ignore a tag you don't like. Such questions are on-topic for SO, given they don't violate the other requirements (MCVE, clear problem statement, no recommendation, not opinion-based, ...) – Vogel612 Oct 17 '14 at 8:02
  • 1
    @Vogel612 This question was the classic 'write this code for me' question' with no code whatsoever. – AStopher Oct 17 '14 at 8:15
  • @cybermonkey then it's not "seeking for debugging help", but "asking for code to be written". I guess that's why enough reviewers declined your flag. – Vogel612 Oct 17 '14 at 8:20
  • 5
    @Vogel612 Well, yes, that's the reason I wrote the first comment :-)- to say that the Questions seeking debugging help... (as suggested by the OP of the answer) won't cover it. – AStopher Oct 17 '14 at 8:23
  • 4
    It's unfortunate that all site-specific close reasons are categorized as "off topic" because the standards that are not met by "do my work for me" questions (including "debug my code" which is surely part of "my work" as a programmer) really have nothing to do with topicality, in a conventional sense. I don't know why SE treats topic and scope as the same thing; it's a big conceptual hurdle for new users. – Air Oct 17 '14 at 18:20
  • 5
  • 2
    Well, given that the most buggy code is the code that hasn't been written (since it doesn't do anything in the spec correctly), you could argue that spec-only project requests are indeed debugging requests. Well, I could, since I have no qualms about bending the English language to my will. By that reasoning, you could even close as a typographical error, the error being that you appear to have missed out the entire piece of code rather than just a C semicolon or COBOL period :-) – paxdiablo Nov 1 '14 at 5:33

too broad


(Emphasis mine)

This existing, standard close reason is a perfect fit for do-my-work-for-me questions.

If the question should be closed, it's not because of the origin of the question (we often don't know that for sure, and shouldn't care anyway), but because the task is too big for an answer. That's what too broad is about. If the task is sufficiently well delimited, then it's exactly the kind of question that we're after, so we should not close it — and, fittingly, too broad does not apply.

SO used to have a “lacks minimal understanding” close reason. It was widely misunderstood and abused which led to its removal. It did far more harm than good, so let's not reintroduce it.

Remember that closing and downvoting address different problems. A question that lacks effort should be downvoted. A question that cannot be reasonably answered should be closed. There is a correlation between the two, but “lacks effort” is not a reason to close. For questions that basically require doing the asker's job (or homework), a combination of downvoting and voting to close as too broad is often appropriate.

  • 20
    Not all "do my work for me" questions are also "too broad" - some have a limited set of reasonably correct, concise answers, if the language is very limited in what it can do or its standard library is exceptionally applicable to the tasks outlined by the question. – Air Oct 17 '14 at 16:05
  • 4
    That said, +1 for your last paragraph; these questions, almost by definition, show insufficient research and should be downvoted aggressively. Perhaps that's enough. – Air Oct 17 '14 at 16:20
  • 9
    That's where this starts to get dodgy, @AirThomas: if the question is reasonably-scoped, then it stands a much higher chance of being useful to others. This is where we ran into trouble with "minimal understanding" - folks were closing insanely common questions, basic "How do I do X in Android?" stuff that was getting re-asked every day... The last thing we need is fewer canonical dup targets because someone thinks they're "lazy"! – Shog9 Oct 17 '14 at 16:21
  • 3
    @AirThomas If a question has a limited set of reasonably correct, concise answers, then it should be answered. Sounds like a perfect fit to me. – Gilles Oct 17 '14 at 16:36
  • @Gilles "[This] close reason is a perfect fit for do-my-work-for-me questions" seems to say that they should all be closed as "too broad" but either that is not what you mean to say, or we are using different definitions of "do-my-work-for-me questions" (or both). In any case, I think we are generally on the same page. – Air Oct 17 '14 at 16:51
  • 1
    @AirThomas I think we're using different definitions of “perfect fit”. I mean that the close reason applies when it should and doesn't apply when it shouldn't. – Gilles Oct 17 '14 at 16:58
  • @Gilles Ah, that is where we diverged. Well spotted. – Air Oct 17 '14 at 17:06
  • 14
    Part of the problem with using "too broad" in these cases is that it can lead OPs to simply leave a longer list of specs, there by narrowing the scope of the question, but leading to a greater feeling of animosity in the community. – apaul Oct 17 '14 at 17:29
  • 2
    @apaul34208 Doing that still wouldn't change the fact that the question is too broad though: "good answers would be too long for this format" "isolate an issue that can be answered in a few paragraphs" – Ajedi32 Oct 17 '14 at 18:56
  • @Gilles: I haven't found very many interesting questions that aren't "too broad" as you describe it. I strongly prefer a less broad definition of "too broad" and reject the idea that all nontrivial questions are "too broad." – tmyklebu Oct 18 '14 at 14:48
  • Close reason's first priority should be to be clear to the OP. This reason is not, 'we don't do your work for you' would be. – Chris Oct 19 '14 at 13:35
  • 4
    @Chris But “we don't do your work for you” is not a reason to close a question. That's a personal judgement from the would-be-but-should-not-be-closer. Whether a question is answerable (and thus whether it should be closed) depends on the question's content, not intent. If the content is fine, the intent doesn't matter. Remember that we don't answer questions for the asker, we answer them for all those people who will find the question in a search. The asker's intent is irrelevant. – Gilles Oct 19 '14 at 13:40
  • My meta.stackoverflow.com/questions/312649/… goes into details on what's wrong with "too broad" and "primarily opinion-based": while they fit, they are missing the point about what exactly is wrong with the question. – ivan_pozdeev Dec 17 '15 at 1:36
  • But what if it doesn't require much code? Like only a line or two? It's not "too broad", the answers aren't going to be "too long" and there aren't "too many" possible answers. There are a few sure possible answers, but that's true if most of the questions asked. The "too broad" answer doesn't fit well in all cases. It does fit well for the "write a program that does such and such" type questions. It doesn't fit well for the "single-method answer" type questions. – Bohemian Oct 20 '16 at 22:41
  • @Bohemian You're describing a question that shouldn't be closed. The close reason doesn't apply. What's the problem? – Gilles Oct 20 '16 at 22:43

I share some of Shog's concern about a repeat of the problems we had with "lacks minimal understanding", but I think having a targeted close reason to address these questions could be really useful.

I also think the specificity may clear up some of the abuse and misunderstanding we saw with lacks minimal understanding.

While "lacks minimal understanding" seemed to say:

"We know the answer, but you wouldn't understand it even if we took the time to explain it to you."

Which was a little insulting to the OP and wasn't the most common use of the close reason. Most users seemed to focus on the second bit "Include attempted solutions, why they didn't work, and the expected results."

Which seemed to say:

"What have you tried? If you haven't tried we're not going to help you..."

Or worse:

"You haven't tried hard enough... "

The focus was being placed on proof of effort, leading to many of the problems we saw there. Basically the door was open wide enough that we could push an awful lot of crap through and the close vote became a super-downvote.

Now... if we had a specific close reason for "Write this code for me..." We could close these problem questions using the real reason users get upset when they see them; rather than treating the symptoms we can start to treat the disease.

I would guess that on average most users don't particularly care if it's a homework question1, if the OP really has a minimal understanding of their problem2, or if the OP has poured a lot of effort into a dead-end solution3.

What really gets most of us fired up is the blatant "Gimmie teh codez" questions; the "help vampire" questions.

Not long ago I ran into this question (check the revision history for the whole story), that really struck me, and apparently a few other users, as a "write this code for me" question.

Of course the users who were on the side of "We will help, but we wont do it for you..." downvoted and left comments, and the users who wanted to be "helpful" upvoted and answered the question despite the tone and quality of the question. At the end of the day the question had a score of +4 -5 leaving the OP with 4 answers to his question and a gain in rep.

I found this more than a little irritating and as often happens when things get irritating on SO, I went to Meta... While still fuming about that question I wrote this answer.

I think we could eliminate at least some of this conflict by addressing it specifically. If we had a close reason that specifically covered "Questions asking us to write code for your requirements are off-topic for Stack Overflow" it would go a long way to help show the "helpful" crowd that answering these questions isn't really "helpful" in the long run.

More importantly having a documented stand on the issue would allow us to start to close these questions before they gather attention, comments, votes, and answers.

1. We've demonstrated time and again that we don't mind helping with homework, we just won't do it for you.
2. How much understanding is minimal?
3. Should Stack Overflow be awarding “A”s for Effort?

  • 3
    While I think that current tools are sufficient, still a +1 because a specific, non-insulting close reason gives more precise feedback to the OP. – Silly Freak Oct 18 '14 at 9:52
  • 1
    I try to answer homework questions differently from how I'd answer practical questions. Homework is there to aid learning. Learning requires active thinking and people often just need to be pushed a little in the right direction. – tmyklebu Oct 18 '14 at 14:51
  • I think you hit the key issue on the head here: the need for a close reason signalling to potential answer givers that giving an answer in this case will only perpetuate ignorance and contribute to the overall decline of question quality on the site. It should also signal to the OP why their question is being closed, that they may have the chance to show their work and correct the issue. – Bonk Nov 28 '16 at 14:16

Such questions are often Too Broad, as the user is not asking about a specific problem. As mentioned, they are often Too Localised, because it is unlikely that someone else will have the same requirements; that makes them worthy of a downvote. The lack of effort makes them worthy of a downvote too. So these kindfof questions can be dealt with using existing features.

But, we clearly have a major problem with questions that have a lack of effort. Very many of the new questions I see in the tags of interest to me are of that kind (although more are debug this or finish writing this questions, rather than implement this specification questions). And there are recently posted and highly up-voted Meta questions complainig about them. The members of the community who care (enough to be on Meta) seem to be unhappy about them. I suggest that this means something effective must be done about them.

That sonething must discourage visitors from thinking such questions are appropriate, and decrease the likelihood that such questions will be answered. The latter is important because the posters of these questions only want their question answered; they do not care about site quality and rules. Preventing them getting an answer is the only way to discourage them. I think the most important thing is to get these questions put on hold fast. That achieves both objectives by slapping a big header on the question proclaiming that the question is rubbish, and prevents answers.

And we should want other kinds of bad question put on hold fast too. I think we are far too worried about a few questions being closed that should not be closed. Once upon a time, voting to close meant just that. But now we have a grace period in which the question is on hold. Look at the typical lengths of the review queues: 10k for the close queue and 5 for the reopen queue. That suggests 99.95% of questions that get closed deserve it (yes, I know the statistics are more complicated than that, but this is an adequte first guess for the information content). That is a very high value. We can afford to relax it a little to improve other aspects.

I suggest we reduce the number of votes need to put a question on hold. From 5 to 4?


To address @Shog9's concerns of the judgement getting "sticky" here, I stress out that there is an objective problem with these questions that can be separated from subjective "laziness" judgements: they have wrong focus:

  • they contain a bare task statement as given by a customer (and sometimes an existing code that needs to be adapted) and expect answers to contain a full solution to that specific task. I.e. they mistake SO for a freelance site.

  • While an SO question should

    • present a problem that arised when solving some task ("What have you tried? Where are you stuck?" (c)(r)(tm) that I and others had to write so many times)
    • have that problem separated from task specifics to the degree practical
    • expect the answers to address that specific concern rather than solve the entire original task for them (they might solve it, it just shouldn't be the expectation)

So, a formulation stressing out this incorrect focus should be resistant to abuse. Something like:

  • Questions asking people to complete some very specific assignment, given the requirements ("work requests"), are off-topic on Stack Overflow as they tend to attract freeloading behaviour, have little to no value for future readers and a vast number of possible solutions. Instead, describe what has been done to complete that assignment and the specific problem you're having with it.

I see only two weak points here:

  • 4
    hmm... so far i've been against every close reason of this type due to it being too easily usable on questions that shouldn't be closed by my standards, but... your wording seems to cover the bases pretty well without being so open ended that it would catch the valid "how do i do x" questions. – Kevin B Oct 20 '16 at 22:16
  • 1
    at first I was going to complain that your description fits well into already existing unclear and too-broad reasons (which I tend to use myself when voting to close work requests). But upon further thinking I found it to be much more helpful for asker than generic reasons and this makes quite a strong point in favor of it for those (including SE team themselves) who support reasoning of '13 changes to close reasons: "close reason descriptions aren't specific enough to convey what exactly the OP needs to do to fix the question" – gnat Nov 9 '16 at 10:43
  • Flip side here is... That graph-traversal question is probably better written, more interesting, and quite possibly more useful than 99% of questions asked here these days. Brings me back to a point Robert Harvey tried to make a while back: we're stuck in sort of a race to the bottom here, where non-trivial questions get punished for being unusual and trivial questions get punished for being boring, leaving us with a bunch of "fix my code" questions. – Shog9 Nov 18 '16 at 6:01
  • 1
    @Shog9 I didn't say the graph traversal question is bad. Topic-wise, it happened to be just fine (and that's why I answered it). I gave it only as a colorful illustration of the wrong focus that "work requests" have. Note that I answered it in a general fashion as appropriate for SO and the OP said that it's not what he wanted. – ivan_pozdeev Nov 18 '16 at 7:41
  • 3
    @Shog9 about the "race to the bottom", I meant exactly this by "Procrustean bed" not long ago. The governing parameter here appears to be the number of concerns. What makes "work requests" non-reusable is they have many concerns, and interwined in a very specific pattern. While to be able to give a reusable answer, we must be allowed to concentrate on only one or a few key concerns and address only them. (But I cannot possibly write a close reason like this, can I? It would be completely over the head of mere mortals :) ) – ivan_pozdeev Nov 18 '16 at 10:47
  • Yeah... The complexity is exactly what made previous attempts unworkable, @ivan. For every problematic question captured by those subtle close reasons, we likely had dozens misidentified due to bad interpretations. And for what? The worst a question like this can do is provide an interesting problem that probably won't go anywhere; meanwhile, shutting down FAQs due to lack of effort hurts every time someone asks it anew. – Shog9 Nov 18 '16 at 18:10

Closing for reasons of laziness (call it what it is) is an act of scrutiny against the user rather than the question and requires an assumption of bad faith.

Consider homework questions. They are usually topical, clear, concise, and perfectly answerable. However, we feel they are undeserving of an answer because we assume bad faith on account of the user. We assume they are abusing the community by taking advantage of its collective knowledge, with no intention to return the favor.

Sometimes that's true. But I believe we owe the user the benefit of the doubt, assuming good faith unless they give reason to believe otherwise. The user could truly appreciate a helpful answer and choose to express gratitude in a number of ways (they are provided ample means of doing so).

There are perfectly good reasons for homework-type and do-it-for-me questions:

  • checking answers
  • learning; viewing a solution to understand the problem
  • organic questions; hypotheticals; curiosity

Some (most?) of these types of questions could use a bit of context to ease the freeloader stigma, but one could easily leave a comment and ask.

Stack Overflow's guidelines on asking questions are designed to control the type of answers it solicits (on-topic, objective, concise, and useful) however the reason for asking a question is and should remain irrelevant. There is no requirement that questions must be a product of genuine curiosity, nor should there be.

I understand the revulsion with raw effort for nothing, but so goes volunteerism. Remember that answering questions is optional. If you don't want to write code for free, fine, but someone else might, and that is their option.

(Disclaimer: I frequently downvote such questions and vote to close those that clearly fit the criteria of "unclear," "too broad," or "debugging." I do not support closing "do it for me" if the question is otherwise clear and useful.)

  • Sure, the reasons for asking are irrelevant. The problem is, they do (negatively and severely) affect the question's usefulness ("I smell homework"="the problem is too trivial/unrealistic for an answer to be useful to anyone else") as well as the prospects of an answer (an answer requires much effort but is hardly useful to anyone else => no rep, yet more garbage on the site). – ivan_pozdeev Dec 17 '15 at 2:01

Perhaps we should extend the "Too Broad" close reason to explicitly cover requests for writing a complete product.

Current wording:


and in the FAQ


"Broad" is not a synonym for "large", although that's the only aspect that the current descriptions address. I'd say anywhere that violating the Single Responsibility Principle is a precondition of an answer being acceptable to OP is a case of "Too Broad".

Fix could be (if we agree that expanding "too broad" is the right approach, then we can open a discussion on the exact wordsmithing) something along the lines of

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be explained in a few paragraphs. Additionally, answers are meant to illustrate an explanation, not to be pasted directly into your product code.


Your questions should be reasonably scoped. If you can imagine an entire book that answers your question, or you are asking for development of a complete user-ready product, you’re asking too much.

On the other hand, our complaint in some of these cases really isn't the scope, it is the impertinence of demanding code that can be directly copied, without any changes whatsoever, into the OP's code. That is somewhat related to the now-defunct "too localized" close reason.

Maybe we can improve that with a note on the screen for answer entry, a reminder that we are teaching men to fish, not giving out fish, and the way to do that is with widely applicable examples.

And then expand the "offensive" flag to cover cases where the OP cops an attitude when offered information rather than production-ready code.

  • 4
    The first bolded addition "Additionally, answers are meant to illustrate an explanation, not to be pasted directly into your product code.", is incorrect at times. It's probably correct as often as it is incorrect. I like the second addition, however "Or you are asking for development of a [...] product." – George Stocker Oct 17 '14 at 18:36
  • 2
    I like this; I was just thinking along the same lines while reading through responses here. The ideal SO question, to my mind (and recognizing that things are never ideal), can be answered with either code or a description of the code. The old "minimal understanding" covered this: giving you a copy-paste target is the only way you'll consider your problem solved (i.e., you can't go from a description to the code on your own)? In that case, coming up with a fully explanatory answer might indeed end up "too broad" although it seems a bit of a shoehorn for the close reason. – Josh Caswell Oct 17 '14 at 18:45
  • 1
    Agree with the idea but not with the wording - there's a huge amount of questions that don't ask for a "complete user-ready product" but are still helplessly too broad; e.g. the ones where OP would need half a book to understand his intro CS assignment. – l4mpi Oct 17 '14 at 18:46
  • 1
    Isn't "too broad" a network-wide default close reason, and not something that can be customized for SO? – Air Oct 17 '14 at 18:56
  • @l4mpi: This discussion is specifically about the question=requirements, answer=deployable code species of annoyance. Inability to understand the explanation is a separate, but no less real, issue. – Ben Voigt Oct 17 '14 at 19:05
  • @AirThomas: It's not like SE doesn't control the platform; they can enable site-specific wording if there's a strong enough consensus that it is worthwhile. – Ben Voigt Oct 17 '14 at 19:09
  • I don't see how the OP's reference question could be tagged "Too Broad". It is the opposite, very narrow, but unlikely to be useful to others. – user239558 Oct 18 '14 at 6:01
  • @user239558: I don't think the reference question qualifies as a "do my entire project for me". It would certainly benefit from showing an attempt, but it should not be closed. – Ben Voigt Oct 18 '14 at 14:17
  • Why don't we just extend "too broad" to actually say "something about your question makes SO users feel uncomfortable, so we've closed your question" if that's what we mean by it? I agree with the bit about the offensive flag, though. – tmyklebu Oct 18 '14 at 14:54
  • "Too Broad" not broad enough? – Salman A Oct 21 '14 at 19:30
  • +1 for the observation about "impertinence". The key disturbing feature here is an OP wants an answer they can use without understanding it. – ivan_pozdeev Dec 17 '15 at 2:06

Lack minimum understanding, and do-work-for-me are not good reasons to close a question.

These reasons focus not on the question, but the person behind the question. In that sense, do-work-for-me is worse than lacks-minimum-understanding.

For example, whether a problem is given as homework has only some correlation with whether that question is useful to others (in a non-homework setting).

If homework questions are a problem, why is that? Is it because they do not solve "real world" problems? Then make a not-likely-to-be-a-real-world-problem close reason.

The close reason must focus on the question, and not the context.

  • 3
    Focusing on the question and not the user is indeed important to keep in mind, as is the issue of whether the question -- regardless of its initial form -- is likely to produce answers that are going to stand the test of time. That's the major problem with "homework" questions. They tend to be very very hard to answer in a way that doesn't do the asker's work for them, but does leave a useful artifact for the next person with the question. The "real world problem" is a contributing factor to that -- "why can't you use a for loop?!" – Josh Caswell Oct 18 '14 at 15:40
  • Though it's difficult to pinpoint the exact problem with the kind of questions under discussion, that's part of this Meta post; Bohemian said "Firstly, do we all agree these questions are off topic?" It would be helpful to define exactly what it is that is bad and warrants closure. – Josh Caswell Oct 18 '14 at 15:43

I've actually been thinking about this very issue, and I know that I've come across situations where I wanted to be able to get from Point A to Point C, but I didn't know exactly what the points in between are.

If I were to ask such a question, it would likely come off as one of these "Too broad" or "Do my work for me" Questions.

I though about that for a second, and it occurred to me that if you can give a high-level answer to these "do my work for me" questions that doesn't necessaraly include all the implementation details, then you can actually give what would be a helpful answer if the OP would take it, and not feel like you had actually done their work for them.

As of now I would struggle to provide an example of this for the OP's sample, mostly because I'm not entirely sure what the ask is on that question, and ironically enough, it's closed under the correct close reason: _unclear what you're asking).

but let's assume for a second, that the question was asking how to print the values instead of returning them. This is an answer that you could write

  • Write a recursive function that takes a list of lists as it's parameter
  • for each list print the center element
  • make a new list of lists, that contains each of the sub-lists that you want to print at the next level. (you can begin generating this next list this at the same time that you're printing)
  • recursively call your function with this new list of lists

Something like that would be a sufficient answer. It represents a complete answer to what he asked for. Sure, it might be at a higher level of abstraction than the OP wants, but if he's willing to do the work then he can definitely be helped by your answer. You've just identified for him what the smaller tasks are, and he has a better idea of what to search for.

And you've done this without actually doing his work for him.

  • Obligatory: xkcd.com/149 – apaul Oct 20 '14 at 20:08
  • A bit like this, this or even this longer one? :) – Bohemian Oct 20 '14 at 22:32
  • Been there, done that. The problem is, there are typically an infinite number of ways to "get from point A to point C", so "general hints" are useful alright but cannot be covered adequately by SO's Q&A. Programmers.SE was created to handle these, but now they are kicking them out as well. As these are useful (sometimes, extremely useful), it's still an open question what to do with them. – ivan_pozdeev Dec 17 '15 at 2:29

I completely agree with this and there even is a section in on-topic about homework questions:


But the flag for this is non-existent. Every other point has a flag for it but not this one. What gives?

  • 1
    I wonder if this is covered with the new verbiage for "too broad". Homework questions themselves aren't bad, but questions which just ask us to do their homework are still too broad (and that hasn't changed in all these years). – Makoto Oct 1 '17 at 2:47
  • 1
    @Makoto Well I flag these kinds of questions with "too broad" but only because there isn't any better option out there. Because the site explicitly states that these kinds of homework questions are off-topic, I think they should let us flag it with "off topic" and give the above reason for it. – ROAR Oct 1 '17 at 2:56
  • 1
    ...No, "too broad" is literally the right option here. The broadness of the homework question is what's key here. – Makoto Oct 1 '17 at 2:57
  • 1
    @Makoto Well if it was literally the right option they wouldn't put the above statement in off-topic link. So they should either remove the statement from "off topic" link or add the flag for it. – ROAR Oct 1 '17 at 2:59

I have started linking this in cases where the close reason will not be clear

As an aside, it would be great if people didn't answer these while people are figuring out the correct close reason


I do not think that the question should be closed. It provides the input and expected output. There is no code, Has OP tried anything, no; but is there a policy about closing such questions? No. Someone could argue, for example, that an answer that does not contain code that details how to solve a problem without actually providing a code example should also be deleted.

Closing a question prevents those who disagree with your close vote from answering the question. There is always a possibility of having a good answer for such question; you are denying that possibility by using the close vote.

Having said that, if you want to close a question and feel good about it, you could close the question as "Close > Off-Topic > Other" and rant as much as you want (there is a textbox for this purpose). You can also mark the question as a duplicate, but hey, searching for duplicate takes time.

  • 13
    "...prevents those who disagree with your close vote from answering the question." If they really disagree, they can vote to reopen, if they have the rep, or go to chat and ask for help if they don't. The proposal here is about closing questions that are just asking for people to do their work for them. If the question is well-written and following all guidelines, it'll likely get an answer, even if it's an easy one. (For example, I have a few very easy questions that were well received.) It's not a matter of "Does the question have code?" but of "Has the OP even tried?" – Kendra Oct 17 '14 at 14:41
  • 1
    The op trying has absolutely nothing to do with this. Votes should be on the content of the post, not the effort put into attempting to solve it. That said, if the op is asking about a problem and doesn't provide code that demonstrates the problem, we have a close reason for that. – Kevin B Oct 17 '14 at 14:52
  • 1
    @Kendra: a person might have (i) the willingness to improve the question (ii) a good answer... but patience? How many people would bother waiting for 5 re-open votes to post an answer? – Salman A Oct 17 '14 at 16:43
  • @SalmanA I wouldn't be surprised if the answer was "a lot" to your last question. If someone is willing to improve the question, all they have to do is edit. That's possible even if the question is closed. If someone has an answer, and can at least give the gist of it, they can post it in a comment, favorite the question to be able to watch it, and try to get it opened. When it's opened again, they can delete the comment and post their actual answer. If they don't have patience... Well, if they're that worried about helping, they'll probably drop a comment or two and run. – Kendra Oct 17 '14 at 16:53
  • 1
    Let me further explain my point here, because looking at my first comment, I'm not sure I worded it the best. Using the example question posted in this question for reference: No, it doesn't contain code. Alright. It does contain requirements for how it should work, which is good. It does not show that the OP researched and tried. As soon as I read it, I had a few ideas for how I could do that in a program myself (without looking at the language they wanted) and I have no way of knowing if those methods had been tried. That question is essentially a work order, and therefore a bad fit for SO. – Kendra Oct 17 '14 at 16:56
  • 2
    "... is there a policy about closing such questions?" Maybe not, but looks like Bohemian is suggesting this as a new policy for SO. That's why we're discussing about it here at Meta. – Teemu-callmewhateveryouwant Oct 17 '14 at 18:15
  • There's a strong correlation between efforts put into a question and its quality. – ivan_pozdeev Dec 17 '15 at 4:05

You must log in to answer this question.

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