20
\$\begingroup\$

Our current situation:

I feel that we multiple times per day get questions that are a form of "I wrote xyz, how can I improve it?" often with very little explanation about the code and often a lot of code.

This makes me wonder:

Is it too easy to post your code up for review here?

If yes, is that a problem?

If yes, what to do about it?

Is the answer just "Answer more!" or should we put higher expectations on our questions, to make it a bit "harder" to post your code up for review?

\$\endgroup\$
  • 10
    \$\begingroup\$ Another question to consider: is it necessarily a problem for the site if low-effort or poor-quality questions get ignored? \$\endgroup\$ – 200_success Apr 9 '15 at 19:40
  • 2
    \$\begingroup\$ The way I see it, making it "harder" by providing more guides in the Help Center won't help if people won't even read them. Just seeing the name of the site will excite them enough to post whatever they want. Either way, I'll consider downvoting a question if it looks like it was slapped together in five seconds and makes it look that way. \$\endgroup\$ – Jamal Apr 9 '15 at 19:48
  • \$\begingroup\$ @Jamal There might be other ways of making it harder than providing more guides in the Help Center. (VTC as unclear what you are asking is something that comes to mind) As you say, the Help Center on its own doesn't actually make it harder to post here. \$\endgroup\$ – Simon Forsberg Apr 9 '15 at 20:09
  • 1
    \$\begingroup\$ @SimonAndréForsberg: On the other hand, I have heard that we shouldn't vote to close as unclear if a post just contains the code, even if reviewing it is implied. I do downvote such questions, though. \$\endgroup\$ – Jamal Apr 9 '15 at 20:10
  • 5
    \$\begingroup\$ @Jamal Once and for all, there are two different possible problems: 1. Lack of specific question ("Please review this code") 2. Lack of context/description. ("This code does A, B, C, where B is done by doing XYZ, and C is using library D to F the G making the H work...") Generally, I consider lack of context/description a much bigger problem than lack of specific question. \$\endgroup\$ – Simon Forsberg Apr 9 '15 at 20:14
  • 1
    \$\begingroup\$ @200_success Interesting question, to which I would like to reply with: Is it necessary a problem for the site if users have a bad experience, because they don't get answers to their questions? \$\endgroup\$ – Simon Forsberg Apr 9 '15 at 20:15
  • 7
    \$\begingroup\$ @SimonAndréForsberg As long as the author of the question has gotten some kind of comment on how their question sucked, I would consider it their own loss if they don't improve it and don't get an answer. \$\endgroup\$ – 200_success Apr 9 '15 at 20:21
  • \$\begingroup\$ do you want to make it difficult and cubersome? \$\endgroup\$ – RE60K Apr 12 '15 at 7:06
  • 2
    \$\begingroup\$ @ADG I would prefer some more questions with higher quality, that take some more time and explain what their code does, and how it does it, in pure English. \$\endgroup\$ – Simon Forsberg Apr 12 '15 at 11:44
  • 2
    \$\begingroup\$ Let's not forget that not all users of the site have English as a primary language. Even the English can't use it properly (all those u's after o's - i.e. coloUr, armoUr, etc.) - I jest. I don't see the point in having a code review area if it's expected that code be 'up to someone's personal standards'. Isn't that what code review is for - to help others understand the mistakes in their code? My personal standard is that code should not be heavily commented, and should be as easy to read as a book. As such, if I do a code review and see minified code, I am likely to call that out as bad. \$\endgroup\$ – Bardicer Apr 13 '15 at 16:49
20
\$\begingroup\$

To answer the surface question, "Is it too easy to post your code for review?", the answer is an emphatic No. It certainly is not too easy to post code for review. I don't think it could be too easy. In fact, it should be as easy as possible to come to our community and ask a question in my opinion. I'm not saying there shouldn't be barriers to entry, but those exist and we do well at closing off topic questions quickly. We do a great job of policing our site and should be proud of the quality we maintain.

Truth be told, we already have a reasonably high barrier to entry. It's difficult to ask a good question on Code Review. A good question often contains a lot of plain English context in addition to the work involved in formatting both the text and code in a way that facilitates a review.

Let's dig a little deeper into what I think is the real core of your question though. You're concerned about zombies (unanswered questions), right? You're worried about questions going unanswered? Let's put that into perspective, shall we? As I write this, these are the current unanswered stats for 3 of stack Exchange's programming sites.

  • Code Review - 1276 unanswered; 22,852 total; 5.58% unanswered
  • Programmers - 1200 unanswered; 35,659 total; 3.37% unanswered
  • Stack Overflow - 121,178 unanswered; 9,191,156; 1.32% unanswered

So, out of the three, we perform a bit worse, but over all, not so bad. Particularly when you consider that it takes quite a bit more time and effort to answer a question on CR than on either of the other sites. Should we be concerned? Yes, but does that mean we need less questions, or more answers? I don't think anyway would say that it's a sign of a healthy site to have less questions.

So, I'll repeat the sentiment in one of my earlier comments.

I think part of the issue is that there aren't enough reviewers in general and certainly, some languages suffer from this more than others. So, rather than "Do we need to make it harder to ask?", we need to ask ourselves "What can we do to attract more reviewers?".

We won't attract more answers by sending questions away and alienating users trying to get help with their code. There's a natural progression to the way people get introduced to SE sites.

  1. Find site.
  2. Read many Q & A's without an account.
  3. Create an account and ask a question.
  4. Read many more Q & A's, only now I have an account, so I vote.
  5. Stumble across an interesting question that I feel I can answer.
  6. All those upvotes are a rush. I'm going to answer more questions.

So, in my humble opinion, we should be trying to find ways to encourage people to go beyond browsing and asking questions to answering them. I perceive that this is where the progression stops for many of our users. We don't need to make it harder to ask a question, we need to make it easier to post an answer.

In an ironic twist of fate, perhaps that means more downvotes /or edits on bad, but on topic, questions.

\$\endgroup\$
  • 3
    \$\begingroup\$ "It's difficult to ask a good question on Code Review." (emphasis by me) - I agree that it is difficult to ask a good question, but is it difficult to ask a question (that isn't closed)? My two primary concerns are the unanswered questions, yes, but also the quality of the questions. To answer a question you must find it interesting enough to answer. There are unfortunately many questions that aren't very interesting to post an answer to around here. \$\endgroup\$ – Simon Forsberg Apr 10 '15 at 13:50
  • 3
    \$\begingroup\$ Then downvote more. =;)- \$\endgroup\$ – RubberDuck Apr 10 '15 at 13:51
  • 2
    \$\begingroup\$ I'd like to add another perspective to this: is it too easy to down vote questions? Too many times I see down votes on questions but little comments on why these are given and what the author should consider to avoid further down votes. It may not always be a lack of compliment to the rules of SE but rather a subjective dislike of the character of a question by some reader behind a down vote. It's kind of lazy to down vote questions without leaving comments. It discourages asking questions when in fact asking questions is the one and only thing that makes sense on SE sites. \$\endgroup\$ – Kristofer Gisslén Apr 10 '15 at 18:55
  • 3
    \$\begingroup\$ I couldn't agree more @KristoferGisslén. Downvotes should come along with constructive comments (assuming someone else hasn't already commented.) \$\endgroup\$ – RubberDuck Apr 10 '15 at 19:03
  • 1
    \$\begingroup\$ I absolutely agree that there aren't enough reviewers, or at least enough diversity in reviewer skill sets to answer reviews for unconventional problems. You made some great points. \$\endgroup\$ – Evan Bechtol Apr 11 '15 at 19:28
15
\$\begingroup\$

The rate of acquisition of new users has been growing. I consider that to be good news for the site.

The number of questions has been growing, but only mildly — not nearly as fast as the number of new users. I also consider this to be a healthy statistic.

What worries me, though, is that the number of answers has been erratically rising and falling, and actually falling noticeably as of the last three months. The rate of answers being posted is now down to a trough that was last reached in early- to mid-2014.

On the face of it, users have lost interest in answering. It's also a possibility that this phenomenon is due to a decline in question quality. I'll have to think about how to analyze the data to discern the reasons for the recent decline in the answer rate.

last 40 weeks of data

Last 40 weeks

Highlights:

40-week Peak    current
======= ====== ========
Users    519       479
Q's      224       201
A's      448       292
\$\endgroup\$
  • \$\begingroup\$ Added SEDE data. \$\endgroup\$ – rolfl Apr 9 '15 at 20:23
  • 7
    \$\begingroup\$ I think part of the issue is that there aren't enough reviewers in general and certainly, some languages suffer from this more than others. So, rather than "Do we need to make it harder to ask?", we need to ask ourselves "What can we do to attract more reviewers?". Personally, I don't answer as much as I used to because I simply don't have the time to anymore. \$\endgroup\$ – RubberDuck Apr 9 '15 at 20:43
  • \$\begingroup\$ @RubberDuck Besides from the fact that we need more reviewers (which we all agree that we definitely need), is it too easy to post your code up for review or not? \$\endgroup\$ – Simon Forsberg Apr 9 '15 at 22:29
  • 4
    \$\begingroup\$ You're asking the guy who keeps ranting that we don't downvote enough @SimonAndréForsberg. I don't think I can objectively answer that. \$\endgroup\$ – RubberDuck Apr 9 '15 at 22:45
  • 2
    \$\begingroup\$ @RubberDuck nobody asked you to be objective. That's seldom what meta is about. They asked you to give a well founded opinion. \$\endgroup\$ – Vogel612 Apr 10 '15 at 6:37
  • 3
    \$\begingroup\$ well we can see what Winter Bash does to our stats can't we... \$\endgroup\$ – Malachi Apr 10 '15 at 14:57
  • 2
    \$\begingroup\$ @Lyle'sMug That what you get if you give hats for reaching the vote limit. \$\endgroup\$ – Morwenn Apr 14 '15 at 12:07
  • \$\begingroup\$ Questions asked went up too @Morwenn. which was another Hat...lol \$\endgroup\$ – Malachi Apr 14 '15 at 13:03
  • 1
    \$\begingroup\$ This makes me wonder if people feel that their answer wouldn't meet a certain standard? I personally can relate to such. Sometimes, I worry that whatever I can answer is obvious/won't be helpful to the asker, or deals with too few points. An answerer's task definitely requires more work and the very notion that one could go through someone else's code and have whatever their contribution be considered unhelpful is dissuading. I can come nowhere near some of the fantastic answers I've received here, and it's not something that I take lightly. \$\endgroup\$ – Legato Apr 28 '15 at 2:57
8
\$\begingroup\$

Given the choice between 100 high-quality Brainf*** FizzBuzzes and 100 poor-quality "I wrote xyz, how can I improve it," I'll take the latter any day.

I feel that low-quality "I wrote xyz, how can I improve it" posts should be viewed as fertile ground for discussion of the presentation of the problem and recommendations on improving the quality of the question while simultaneously doing our best to understand OP's concerns with the code and motivations for posting, along with possible solutions for said concerns.

Personally I think we could do a better job of not making the conversation immediately around whether OP broke the rules (along with numerous axiomatic statements about the rules), instead of having a conversation in the comments like "Hey, you know, this is a really interesting problem. Can you update your question to provide more context because I'm not sure if you're looking for solution A, or solution B that I'm thinking of?" Even a conversation in the comments can be of great value.

I feel that the process of getting a non-quality question to a quality state is still a bit of a three-ring circus on here. People are much more motivated to interact with and respond quickly to a party that is offering to help, but is hamstrung by the poor quality of the question, than a gatekeeper that says "your question is of poor quality. Therefore, anyone who would like to have helped cannot help until you make your question meet the requirements for posting." It's especially daunting for users that have gone through the process of getting their question closed and reopened to be met with zero answers at the end of it all.

In my opinion, the average community member, not the mods, should ultimately be doing the heavy lifting in raising the bar for question quality. That means, for the average user, instead of grinding out reputation so you can unlock the ability to downvote and vote to close, taking it upon yourself, though you may only have a lowly 52 rep, to try and see a poor-quality question through on its metamorphosis to a good-quality question. Make constructive comments about what's keeping you personally from being able to answer the question instead of applying the Code Review Quality Litmus Test (TM) to it.

Ultimately, an emphasis on walking alongside the people with the interesting questions but poor delivery will do so much more for the community than clamping down further on questions. Unless, of course, you really really love calculators.

\$\endgroup\$
  • 4
    \$\begingroup\$ While I appreciate your sentiment here (that experienced users should help people formulate better questions), there are practical issues too, like any answer on a half-baked question means the question can no longer be edited without invalidating the answer. My feeling is that bad questions should be closed fast to avoid answers to the bad questions, and question askers should feel less distressed about that, and should edit and improve their questions. Reopened questions are surprisingly successful, despite your reservations. \$\endgroup\$ – rolfl Apr 13 '15 at 23:08
  • 4
    \$\begingroup\$ Note this SEDE query - Reopened questions are about as successful as never-closed questions: data.stackexchange.com/codereview/query/300470/… \$\endgroup\$ – rolfl Apr 13 '15 at 23:25
  • \$\begingroup\$ @rolfl I'd be interested in seeing data around subsequent site activity between users whose first question was 1) never closed, 2) closed and reopened, and 3) perma-closed/deleted. While I'm glad that reopened questions are successful, my overall concern is for those whom I consider falling through the cracks--users who ask a question, get some pushback, then throw their hands up and say "I'm out, I don't feel like messing with this," and decide the community's not for them. \$\endgroup\$ – moarboilerplate Apr 14 '15 at 16:23
  • \$\begingroup\$ @rolfl While it's probably very difficult to distinguish users who could eventually become valuable members of the community from users who just want codez and quick answers, I feel that making requirements even more stringent will push the former number up, which I suspect may already be too high. \$\endgroup\$ – moarboilerplate Apr 14 '15 at 16:29
  • \$\begingroup\$ The statistics on deleted posts are not available, and closed&down-voted posts automatically are deleted after 9 days, so, no stats on that. The rest of your concerns are 'soft' issues which are hard to measure. On the other hand, Code Review is supposed to have working code, so "gimme-the-code" should be hard to ask for. You should have everything well presented. It is what makes good code good code. Remember, the answer you should expect on Code Review is: "Everything looks great" \$\endgroup\$ – rolfl Apr 14 '15 at 16:31
  • \$\begingroup\$ @rolfl as mentioned in other meta discussions already I and some other regulars cannot share that expectation. Codereview Answers are supposed to get someone a step further from where they are, whether that current state includes a self-awareness wrt. problems or not. \$\endgroup\$ – Vogel612 Apr 15 '15 at 6:50
  • \$\begingroup\$ 'fertile ground for discussion'. these questions are fertile grounds for discussion, but there is a problem with that. The stackexchange model is not suitable for 'discussion' no matter how good a discussion could be, it has no right of existance on the site, because that's not what the site is about in the end. On the other hand there is a tool in the network which is meant for exactly that.. Code Review Chat \$\endgroup\$ – Vogel612 Apr 15 '15 at 6:54
  • \$\begingroup\$ @Vogel612 I agree with you somewhat based on how the site is currently structured. However, I feel that the stack exchange model is not an absolute, unchanging authority. For example, say there is a need that the current model doesn't account for. Then, imagine someone starts a trend of posts in a certain style that don't follow the model, meets the need in the short term. I'd rather have post hoc meta discussions around "people are obviously using this to meet a need, do we allow this, or do we find another way to meet this need?" \$\endgroup\$ – moarboilerplate Apr 15 '15 at 15:11
  • \$\begingroup\$ @Vogel612 contrast that with a scenario in which the "trend" is heavily modded with the reasoning that it doesn't jibe with the current model. That could lead to meta conversations never happening because the "trend" doesn't gain enough traction that people know about it. Or, say that someone comes up with an analysis of the problem and posts about it on meta. It's very possible that the conversation ends there with "it doesn't fit with the model." So I think that there has to be some wiggle room in order to keep things fresh. \$\endgroup\$ – moarboilerplate Apr 15 '15 at 15:15
  • \$\begingroup\$ @Vogel612 Or, say that SE devs decided to one day diverge from the existing model. The best case we would be able to make would be that it doesn't work with the way that the site acted yesterday. \$\endgroup\$ – moarboilerplate Apr 15 '15 at 15:17
  • \$\begingroup\$ All these "what-if"'s aren't in any way addressing the actual question. And they miss the point of the SE ethical model. SE was designed with some specific goals in mind. These goals greatly affected how the site was built. And soem questions simply go "against the idea behind" StackExchange. Just because the demand is there this doesn't mean that the original goal should be dropped, especially when seeing that the original goal is also in high demand. With that all being said, if you're searching for a discussion platform (and I'm repeating myself) then SE IMO isn't the right place to look. \$\endgroup\$ – Vogel612 Apr 20 '15 at 18:25
  • \$\begingroup\$ @Vogel612 1) the only discussion I brought up was code review discussion re: helping users fix their questions, whereas you are interpreting my statement as me saying SE should be a discussion platform 2) The what ifs do not address the original question as they are intended to address your comments/views on the overall ethical model/idea behind SE, 3) which I maintain is not as absolute and immutable as I believe you and others would like it to be. \$\endgroup\$ – moarboilerplate Apr 20 '15 at 18:46
5
\$\begingroup\$

While I essentially agree with @RubberDuck, I do think we should make it more of a point to have askers add more context to questions.

Often, questions come that are barely more than code dumps while being just under the point where you'd down-vote them/consider them off-topic.

I generally find myself constantly asking people to add more context to their question.

It makes logical sense, you can get more accurate help and generate interest if people understand what your code does/is supposed to do before they even get to the code. There are some great examples out there that include diagrams in their post, and I'm not saying to require anywhere near that much, but at least a paragraph or two for a brief overview shouldn't be too much to expect.

\$\endgroup\$
  • \$\begingroup\$ Context is a tricky thing for me at times. A lot of times I see (and experience) "Well why are you doing that?" followed by "Okay, well why are you doing THAT?" and the answers to those questions ultimately aren't pertinent to what led me to post the question in the first place (like for example, "because I can't change it." or "because of something that would require a page to explain"). If I try to preemptively avoid that, it's just asking for flagging because I said "I don't want to talk about x." With all that said, I do agree with you, esp. with regards to code dumps and terse questions. \$\endgroup\$ – moarboilerplate Apr 28 '15 at 20:37
2
\$\begingroup\$

As a new member to this community I feel like I should say what it is and how it has been for me.

As @RubberDuck said:

  1. Find site.
  2. Read many Q & A's without an account.
  3. Create an account and ask a question.
  4. Read many more Q & A's, only now I have an account, so I vote.
  5. Stumble across an interesting question that I feel I can answer. All those upvotes are a rush. I'm going to answer more questions.

It's very similar to this. I did my homework, read a lot of Q&As, and then found that one question I could not find an answer to. I thought I would make a question and unfortunately it was on Stack Overflow. I still don't have a clue how a beginner can ask a question there. I got a couple of downvotes and my rights to ask questions was removed. And answering those questions that are currently asked there is impossible for a beginner because only hard questions come up.

What happened after that is that I created a second account when I had a very important question. The same thing happened. Then I just gave up on that website and found this one. I still read questions there, but I don't even try to engage.

The community says that questions are badly structured and do not contain a clear question. But from my experience I can say that most of the time, I don't even know what I'm looking for, not that I know which technologies or patterns I'm using. If I would know those things I would not ask questions about them; I would just google it. And to you reviewers who think I haven't put thought into the question: title is off-topic, related code is not included (because I don't think it's related to the question), no explanation in depth (because you can read code) etc. But I have to give a huge thanks to the CR community for being so accepting of newcomers - editing and commenting questions.

In summary, I don't think posting a question should be more difficult, because it already is. I also don't think down voting and removing rights to post a question is a solution as well, because new accounts will be created and beginners won't engage anymore.

\$\endgroup\$
  • 5
    \$\begingroup\$ As a new user, thank you for giving your opinion on this. Even as an established user on SE, I still don't know how best to ask a question on SO. Though, I hardly ever need to anyway. Regarding the last paragraph, the "removing rights" part is mostly done by the system. Yes, downvotes do lead to that, but it has been observed over time that stopping downvotes can hurt sites. Of course, it makes users unhappy, but the community (especially the reviewers) themselves can become unhappy if it's hard to find good posts. We can at least try to find a good balance for all of this. \$\endgroup\$ – Jamal Apr 13 '15 at 13:17
  • 3
    \$\begingroup\$ This may come off as rude, but I don't think your half rant abou the so community has a place on this meta. I think you could state your point without discrediting the community of another site in the network. They have their problems but they are honestly trying their best to address this. But the dimensions are on completely different scales. CR is (and probably will remain) a comparedly small site so it's easier to have this welcoming atmosphere \$\endgroup\$ – Vogel612 Apr 13 '15 at 17:00
  • 1
    \$\begingroup\$ @Vogel612 I think it's important to understand this not as a half-rant but as the typical perspective of users who find themselves directed here as the result of asking a question more suited for CR on SO. I'd be interested in knowing if the majority of newcomers to this site get here through that exact process, which, as I know from firsthand experience, can be extremely frustrating. I'd consider this valuable feedback for CR because it shows that the community here is doing a good job of providing valuable feedback and not exacerbating the frustration of getting bounced here. \$\endgroup\$ – moarboilerplate Apr 13 '15 at 21:40
  • 1
    \$\begingroup\$ @moarboilerplate just becuase this is the "typical perspective" this is no less of a half-rant. Also I think (and I am repeating myself) that the point made in this answer could be made without the aforementioned half-rant. The valuable feedback is there (which is why I personally didn't downvote it), but the presentation of the feedback is off, which is why I didn't upvote this. \$\endgroup\$ – Vogel612 Apr 14 '15 at 9:25
  • \$\begingroup\$ @Vogel612 rereading it I can see how it goes off the tracks at times. \$\endgroup\$ – moarboilerplate Apr 14 '15 at 16:08
  • 2
    \$\begingroup\$ @Vogel612 I think it is very relevant. It's a vivid description of what we don't want to be as a community. How many CRers are happy with the state of StackOverflow these days? Let this stand as a warning and reminder as we grow. \$\endgroup\$ – RubberDuck Apr 17 '15 at 14:46

You must log in to answer this question.

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