9
\$\begingroup\$

Does the plain-English part of a question even matter?

I'm not recommending that the plain-English part doesn't help make questions better, but given the approach we've taken towards answers on CodeReview:

Reviewers may comment on any part of the code Feel free to call attention to specific areas you are concerned about (performance, formatting, etc). However, any aspect of the code posted is fair game for feedback and criticism.

How much does the plain-English part of a question actually matter in determining whether or not a question is on-topic?

If I post a chunk of code that performs tasks A, B, and C, and a plain-English request for help expanding my code to performing task D, is my code truly off-topic?

Asking for expansion of my code to performing Task D is clearly outside the scope of CodeReview. But there's plenty of code to be reviewed in the question. The only actual problem is that asking for help with Task D encourages off-topic answers--that is to say, answers that don't really review code.

The plain-English part is asking about code not yet written, which is expressly off-topic and is one of our vote-to-close reasons. But if we were to simply edit away the plain-English part of the question and look only at the code, which the help center gives reviewers a warrant to address any and all aspects of, the code could actually serve for some good, on-topic, CodeReview style answers.

"Enough reviewable code" is a phrase that gets thrown around on the meta when we're discussing why a question should be left open. Sometimes the fact that a question has "enough reviewable code" is used as an excuse to keep a question open.

If we're going to err on the side of leaving questions open, and having "enough reviewable code" is one of the criteria that goes toward leaving a question open, should we at least edit out the plain-English parts that make the question a bad fit for CodeReview? Or is it better to close to question and comment that the question is off-topic because it's asking for X which is off-topic here, but if the asker edits that question out, he could still get his code reviewed?


For the record, I want to emphasize that I certainly know that a good plain-English section can certainly make a good question great. And I'm not saying questions lacking a plain-English section are good, but I do think a question that's going to be left open is better with no plain-English section than it is to be left open with a plain-English section asking for off-topic stuff.

\$\endgroup\$
7
\$\begingroup\$

There is no good answer to this question.

This answer to another on-off-topic-question somehow seems relevant.

It is purely subjective, and based on impressions, and expectations, and prejudices.

If a question comes along (Billy), and it says:

Here's my code, it works well. Please review it, and, by the way, if you can think of a way to make it do someABC feature, that would be helpful

I would think, cool, Billy is asking for a review, and that someABC thing should be possible, if he does XYZ too.

If a question comes along (Bob), and it says:

Here's my code, it works well. Please review it, and, by the way, I want to make it do someABC feature too, what should I do?

That, to me, is off topic, and Bob is asking 'gimme-the-code', and it's not really asking for a review, but for a new feature.

In each of those cases, the 'plain-English' text could have been edited, and the second part of the description removed. That would have made each question on-topic:

Here's my code, it works well. Please review it.

But, despite the change to the wording, Bob will not be helped with his actual goal, and will not appreciate any reviews nearly as much as Billy.

Billy's question is worth a review. Bob's is worth a Close Vote.

Now, where's the line?

I don't know, but I know it's been crossed, when I see it.

\$\endgroup\$
  • \$\begingroup\$ If it is the case that the plain-English parts matter, and that the plain-English effects whether or not a question is on-topic, then that means we should definitely consider the plain-English part of the question when posting answers, correct? And if so, should we rollback edits a user makes to the plain-English part of the question after he has received answers if the edit changes what he is asking about? \$\endgroup\$ – nhgrif Aug 15 '14 at 23:20
  • \$\begingroup\$ meta.codereview.stackexchange.com/a/1867/31503 <-- probably of interest (edited it in to the answer too). \$\endgroup\$ – rolfl Aug 16 '14 at 4:43
  • 1
    \$\begingroup\$ As another follow up, if the plain-English parts matter, should the plain-English parts and the posted code snippet parts be expected to match up? \$\endgroup\$ – nhgrif Aug 16 '14 at 13:19
  • \$\begingroup\$ I would think so. If they don't, it becomes "Unclear what you're asking." \$\endgroup\$ – RubberDuck Aug 16 '14 at 19:41
6
\$\begingroup\$

In my opinion, yes the plain English matters. It matters a lot. That's the part of the question that explains not just the code, but the intention of the OP. It's not just the code in the question that makes it on topic or not. It's the intention of the asker as well. Take this meta for example. The code itself is (debatably) reviewable, but it's not asking for a review, so the question is off topic.

The correct way to handle these situations... well... depends on the situation. Here are some actions that should be taken.

  1. Leave a comment explaining why the question in current form is off topic.
  2. If possible, edit the question so that it is on topic.
  3. If that's not possible, vote to close.
  4. Downvote to send a clear message that it's not a good question for this site.
\$\endgroup\$
  • 1
    \$\begingroup\$ Your question seems to say "No", but then your second numbered point seems to be agreeing with the point I'm making in my question. The scenario is a chunk of code that does A, B, C, and the plain-English asks for a review of A, B, and C, as well as asking for help implementing feature D. Asking for help implementing feature D makes it off-topic by this answer... but by your second point, we could edit the request for feature D out of the question and now it's on-topic. Or we could put it on hold until the asker edits that bit out. \$\endgroup\$ – nhgrif Aug 15 '14 at 11:29
  • 1
    \$\begingroup\$ That's exactly what I'm saying. Which part of my answer is unclear? I'd like to edit it to clarify. \$\endgroup\$ – RubberDuck Aug 15 '14 at 11:31
  • \$\begingroup\$ You're saying you agree we should simply edit the request for implementing feature D out? I'd say just add a bit to the bottom to relate your answer to the example I gave in the question showing that when you say edit, you mean that includes removing part of what the plain-English part is requesting. \$\endgroup\$ – nhgrif Aug 15 '14 at 11:33
  • \$\begingroup\$ Because surely, we could start by removing any off-topic requests that the plain-English part makes, and then if after this edit, there question remains off-topic for other reasons, we can close it. \$\endgroup\$ – nhgrif Aug 15 '14 at 11:40
  • \$\begingroup\$ In the scenario in your first comment, 1) Comment the question and then 2) Edit the question to make it on topic. In the scenario of your second comment there's no sense in editing the question. Making it on topic is not possible. Downvote and vote to close. \$\endgroup\$ – RubberDuck Aug 15 '14 at 16:11
4
\$\begingroup\$

This is going to be a short answer because I feel like I do not have the experience to fully comment. But here is how I feel. I think that many, many questions do not have enough "plain English" to explain the context of their code. Also, I feel that a great many answers are more "here is a better version of your code" then an explanation of what is actually wrong with the code. I do not feel that "code review" should typically be just rewriting code to make it better. This is more an exercise for the rewriter than for the question asker. The one asking the question would benefit much more from a detailed explanation of what they are doing wrong. More plain English would definitely help to clarify a lot of questions and answers on Code Review. Just my 2 cents.

\$\endgroup\$
  • 3
    \$\begingroup\$ Although I agree with this answer, it does not feel that it is answering anything about "on-topic code with off-topic plain-English text" \$\endgroup\$ – Simon Forsberg Aug 15 '14 at 9:42

You must log in to answer this question.

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