60
\$\begingroup\$

Hopefully, by raising concerns, we may generate some ideas for improving the site!

\$\endgroup\$
  • 33
    \$\begingroup\$ No new site design. \$\endgroup\$ – Ethan Bierlein Jun 2 '15 at 2:50
  • 7
    \$\begingroup\$ I don't think the design matters that much. The WorldBuilding SE has quite a lot of activity and it is still in beta (who can resist some of the silly questions that pop up over there?). \$\endgroup\$ – cimmanon Jun 3 '15 at 13:19
  • 3
    \$\begingroup\$ @EthanBierlein Make that four years \$\endgroup\$ – Simon Forsberg Jun 3 '15 at 18:56
  • 3
    \$\begingroup\$ Technically we got a "new" design three years ago. \$\endgroup\$ – 200_success Jun 3 '15 at 19:09
  • 1
    \$\begingroup\$ I actually made a question about updating the SO on-topic page to include information about educating users on Code Review (and Programmers). meta.stackoverflow.com/questions/296714/… I think it would help all the mentioned communities. \$\endgroup\$ – Der Kommissar Jun 12 '15 at 17:52
  • \$\begingroup\$ Personally, the main reason I rarely hang out on CR is that I have this image of CR questions being "I wrote this program. Can you read through its 2000 lines and refactor it?" I have no idea how accurate or widespread that impression is, but if it's a misconception that many people share, it might be worthwhile to set the record straight somehow. \$\endgroup\$ – TigerhawkT3 Aug 1 '15 at 1:19
  • 1
    \$\begingroup\$ @TigerhawkT3 1. Most questions are much shorter than 2000 lines. 2. As stated in the help center, answers can address any aspect of the code; you're welcome to, say, point out performance problems even if the OP requests refactoring. 3. Reviews need not be comprehensive; you can focus on just a problematic excerpt. 4. My impression of Stack Overflow is that it's full of questions about some niche technology or questions from clueless beginners. Code Review is refreshing because you're helping make good programs better. Different strokes for different folks. \$\endgroup\$ – 200_success Aug 1 '15 at 2:19
  • \$\begingroup\$ @200_success - Those are all good things to know (and 4 is pretty accurate). However, the link in 3 mentions an average review time of 40-60 minutes - far from a multi-hour slog, but more than the 5-10 minutes (sometimes less) that many SO answers take. Don't get me wrong, there are epic answers there that must have taken a corresponding effort, but they are not the norm. \$\endgroup\$ – TigerhawkT3 Aug 1 '15 at 2:34
  • \$\begingroup\$ Reading that link more carefully, it looks like the "reviews take a long time" misconception is a known thing, but perhaps the suggestion to split up reviews between several answers is not as well known. That's the issue I would target. \$\endgroup\$ – TigerhawkT3 Aug 1 '15 at 2:43

17 Answers 17

81
\$\begingroup\$

Code Review is not graduated (Note: WIP)

This site has become the pity-site - the site that is graduated, but is not graduated, it's big, but not big enough, it's a beta site, but it's too busy to fit with the beta logic.

The biggest issue for Code Review is uncertainty. We can't attract more answerers because the people "in the know" don't look at Code Review because it is not graduated... but we need them to get us to the next level.

In a sense the site is the adult sitting at the kids table at thanksgiving, because that's the way it has always been....

If Code Review was a full fledged site it would rise in the esteem of the community it needs to attract to take the answering skills and knowledge to the next level.

Code Review needs to graduate in order to grow.

\$\endgroup\$
60
\$\begingroup\$

We need more answers and reviewers.

Our zombie rate is going up - fast, and the percentage of questions answers is falling. We need to attract more reviewers, and convert posters to reviewers.

Issues

When I first actively joined CR, I was afraid to post answers. I didn't know a whole lot about programming (I still don't - at least nothing like the big guns), and I was afraid I couldn't post a high-quality answer. I was told many times that as long as I had a justifiable comment, I could post an answer, which has drawn me in to answering more, and taught me a lot about programming. Maybe other users have the same issue I did, and are afraid to post answers?

Ideas for thought

One possibility to draw answerers in is to have a community-challenge style program designed to draw answers, not questions, in. When considering this, keep in mind that we must remember that this could potentially draw poor answers in.

\$\endgroup\$
  • \$\begingroup\$ Nice suggestion, but could you also answer the question directly — what's the biggest problem facing Code Review? \$\endgroup\$ – 200_success Jun 2 '15 at 2:44
  • \$\begingroup\$ I like the "review-challenge" abstraction, but I have no idea what the implementation might look like... \$\endgroup\$ – Mathieu Guindon Jun 2 '15 at 3:53
  • \$\begingroup\$ @Mat'sMug Me either, but I thought I'd throw the idea out there for discussion. \$\endgroup\$ – 23fc9a62-56de-47fb-97b4-737890 Jun 2 '15 at 3:56
  • 7
    \$\begingroup\$ We could make yet another campaign to promote small but helpful answers. The first one worked quite well but I think that we need to do that more (and I reckon that I'm not an example for users who want to post small answers ._____.). \$\endgroup\$ – Morwenn Jun 2 '15 at 9:00
  • \$\begingroup\$ I think I'm the biggest source of zombie questions... \$\endgroup\$ – Ismael Miguel Jun 12 '15 at 11:50
  • \$\begingroup\$ It's oddly counterproductive to see long answers on posts. I've asked two questions, and my first was a massive comprehensive post that was incredibly helpful but also dissuades me from attempting to answer other's as my idea of code review is more intense than just giving feedback on the parts of code I can help the asker with. \$\endgroup\$ – SuperBiasedMan Jun 12 '15 at 16:17
  • \$\begingroup\$ @SuperBiasedMan Answers here are more comprehensive than other sites - it isn't a quick-fix and move on, you have to process them and possibly change entire habits. I've learned about a good many things that took days and even weeks to fully process from these complex answers. \$\endgroup\$ – 23fc9a62-56de-47fb-97b4-737890 Jun 12 '15 at 18:02
  • \$\begingroup\$ I'm new-ish to programming. I've been doing it for a few years now as a university student. I have experience in Java, Ruby, and JavaScript, and various frameworks like Android, Rails and Node.js. However, most of my programming knowledge is self-learned. I just don't feel confident posting an answer when I know that my advice might actually be worse than what the OP has done! I mean, coding style is about the only thing I'm good at in terms of reviewing, but I'm always hesitant to post an answer because that seems like a very trivial review... \$\endgroup\$ – Chris Cirefice Jul 24 '15 at 18:53
52
\$\begingroup\$

Too much broken code

According to Question Close Stats (2K+ / Moderator Tools link), in the last 30 days we have closed:

  • 225 questions with broken code - 58.4% of closed questions. 14 were reopened.
  • 64 questions with hypothetical/pseudo-code - 16.6% of closed questions, 10 were reopened.
  • 32 unclear questions (8.3%) - 11 were reopened.
  • 29 questions that didn't include the code (7.5%) - 16 were reopened.

Questions Closed: 385 | Questions Asked: 1,208 | Close percentage: 31.87 %

Some days are worse - take today for example:

Questions Closed: 19 | Questions Asked: 47 | Close percentage: 40.43 %


It has been brought up recently on meta that we might be an elitist site that cherry-picks their questions (paraphrasing, I don't feel like searching for that link). I strongly believe we are not. If we had to pick only a single close reason to stay and every other one had to go, I would vote to keep the broken code close reason.

Thing is, that close reason is so predominantly used, that filtering it out completely changes the close reasons summary:

Past 30 days:

Questions Closed: 160 | Questions Asked: 1,208 | Close percentage: 13.25 %

Today (a pretty bad day - blame Monday):

Questions Closed: 11 | Questions Asked: 47 | Close percentage: 23.4 %


  • We have the rulebook, but people don't read it.

    • Can it be reformatted to be more to-the-point? As in, putting MUCH more emphasis on the "BROKEN CODE IS OFF-TOPIC" part?
  • We have a how to ask panel on the ask a question page:

how to ask

...but people don't have their attention on that area of the page at that moment and it just appears to be invisible to most.

The only thing I can think of, would be a violent red popup that jumps at you when you try to ask something like..

Why doesn't this code work?

Notice how blatantly off-topic this question is - and nothing in the UI is telling the user "Wait! If your code isn't working as expected, you're on the wrong site!" ...it actually suggests other questions that may have your answer.

I would love to see the percentage of our off-topic "broken code" questions that are asked by low-rep Stack Overflow users that were told to come post here.

I realize it would require some development effort, but having such a popup when the wording of the question title (and/or parts of the body?) makes it 95%+ certain that an off-topic question is about to be asked.... might cut our close rate by a little less than an optimistic half.

\$\endgroup\$
  • 4
    \$\begingroup\$ There doesn't need to be artificial intelligence. For example, new users on Server Fault see this click-through warning when asking any question. \$\endgroup\$ – 200_success Jun 2 '15 at 3:38
  • \$\begingroup\$ Maybe SE could implement a warning like that that disappears when users reach 1k? \$\endgroup\$ – 23fc9a62-56de-47fb-97b4-737890 Jun 2 '15 at 3:39
  • \$\begingroup\$ Couldn't we tweak Stack Snippets so that the user gets a BIG RED CONFIRMATION BOX when the snippet is not even syntactically correct? It would only work for a few languages and tells nothing about the semantics but it could be a starting point. \$\endgroup\$ – Morwenn Jun 2 '15 at 8:57
  • 1
    \$\begingroup\$ I'm actually pretty surprised at how high the reopen rate is \$\endgroup\$ – Ben Aaronson Jun 2 '15 at 12:37
  • 4
    \$\begingroup\$ @BenAaronson That's because many questions are not fundamentally wrong and users are often guided so that their question can be reopened later. It's even easier for "code not included" questions. \$\endgroup\$ – Morwenn Jun 2 '15 at 15:07
  • \$\begingroup\$ @200_success The only problem with SF's warning is that, if you don't notice the checkbox and click 'proceed', it doesn't pop up a warning that you need to click the checkbox or anything -- it just goes back to itself. \$\endgroup\$ – Nic Hartley Jun 2 '15 at 20:23
  • \$\begingroup\$ @QPaysTaxes I think the checkbox means "don't remind me again next time". \$\endgroup\$ – 200_success Jun 2 '15 at 20:26
  • 2
    \$\begingroup\$ @200_success No, if you don't click it, clicking 'proceed' just refreshes the page. If you do, clicking 'proceed' goes to the Ask Question page. My issue is that if you don't see the teensy little textbox under a wall of text and just click 'proceed', it doesn't pop up a warning like "Please read the text above closely before continuing", which would at least force the user to give it a once-over, click the checkbox, then continue to ask their low-quality question, and maybe make some people actually give the text a read. Without a warning, though, it's just a useless irritant. \$\endgroup\$ – Nic Hartley Jun 2 '15 at 20:29
  • 16
    \$\begingroup\$ I don't think people get what a code review is. I get the impression that people who don't come from a programming background think that it means that we'll look over anything and find bugs for them. \$\endgroup\$ – cimmanon Jun 3 '15 at 1:44
  • \$\begingroup\$ Stack Overflow has been around for many years. They still regularly get lots of questions that contain library requests, or don't post the code causing the problem, or don't post the error messages. I don't think this problem is going to go away for Code Review. The proper solution is potentially to start migrating any appropriate questions to Stack Overflow. \$\endgroup\$ – nhgrif Jun 29 '15 at 12:46
  • \$\begingroup\$ @nhgrif 60% of closed questions on SO are library requests? \$\endgroup\$ – Mathieu Guindon Jun 29 '15 at 14:11
  • \$\begingroup\$ If you have 10k rep, you can see the close vote statistics on SO. Duplicate is the most common closure reason (30% in the last 7 days), while off-site resources/libraries is #3 (15% in the last 7 days). It's worth noting that library requests used to be allowed, but were officially disallowed last year. \$\endgroup\$ – cimmanon Jul 5 '15 at 14:32
  • 1
    \$\begingroup\$ Related question: How can we work to prevent off-topic questions? \$\endgroup\$ – 200_success Sep 10 '15 at 20:46
39
\$\begingroup\$

Not all tags have enough reviewers.

Objective C has @nhgrif answering most of the questions, and I personally find it hard to get ActionScript code reviewed (although it's practically Javascript with classes and strong typing).

Looking at the other answers, maybe the point is more this:

There's not enough answerers.

Code Review is pretty special here:

  • Most questions don't deal with problems the average user would ever come across in their lives.
  • Questions are highly specific in nature.
  • Thus, answering serves mostly to help the asker, rather than the community at large.

Contrast other sites and you'll find that the more popular ones deal with solving more general problems - and providing a general fix or general advice.

Could it help to create more questions that are about general issues? Such questions are not example code; rather, take a small snippet that you have an issue with, and post it up for review. Questions like Find min of 3 numbers hardcoded, Searching an element in a sorted array, Finding repeating numbers in an array, Getting/setting default values from my App.config... These questions are our most popular questions, and they get that way because they get hit by search engines.

\$\endgroup\$
  • 4
    \$\begingroup\$ +1 The number of Javascript questions answered dropped circa November 2014 (I remember the graphs), which is when @konijin stopped answering questions on the Code Review. That's one user, and it made the difference. \$\endgroup\$ – Morwenn Jun 2 '15 at 9:05
  • 1
    \$\begingroup\$ they get that way because they become "hot questions" primarily. They become hot questions likely because they are short, clear, and easy to review. \$\endgroup\$ – Simon Forsberg Jun 2 '15 at 9:27
  • 2
    \$\begingroup\$ I worry about this. My favorite tag has 2 consistent reviewers. Maybe another 2 or 3 that show up once in a while. Granted, we don't get that many VBA questions. But if the two of us stopped for some reason, questions might take days or weeks to get answered. If they get answered at all. My tag needs some new reviewers just for some fresh perspective. \$\endgroup\$ – RubberDuck Jun 2 '15 at 10:07
  • 1
    \$\begingroup\$ @SimonAndréForsberg some of these questions continue to garner a TON of views despite not being hot questions anymore. Heck, we have a closed question with like 75k views. \$\endgroup\$ – Pimgd Jun 2 '15 at 10:35
  • 6
    \$\begingroup\$ About "answering serves mostly to help the asker, rather than the community at large": I don't really agree, SO for example might help me debug and solve problems, but it's this site and programmers.se that can really help you in becoming a great developer. I definitely plan to become more active in the future because of this. \$\endgroup\$ – LisaMM Jun 2 '15 at 13:13
  • \$\begingroup\$ @LisaMM okay, then, maybe, CR doesn't fulfill a direct need most of the time - you're less likely to get here because you have a problem and it needs solving "now" \$\endgroup\$ – Pimgd Jun 2 '15 at 13:17
  • \$\begingroup\$ @Pimgd I do agree with that. \$\endgroup\$ – LisaMM Jun 2 '15 at 13:20
  • 8
    \$\begingroup\$ @LisaMM, on the topic of needing more reviewers, I've often found that I learn as much from answering questions as I do asking them. wink wink nudge nudge =) \$\endgroup\$ – RubberDuck Jun 2 '15 at 14:36
  • 2
    \$\begingroup\$ @RubberDuck Hence the plan to be more active in the future ;) \$\endgroup\$ – LisaMM Jun 2 '15 at 14:56
  • \$\begingroup\$ I would love to have Data Explory Query to identify these tags, I think your are right. Some tags(/languages) have very few reviewer. \$\endgroup\$ – Lyndon White Jul 7 '15 at 2:39
33
\$\begingroup\$

Educating SO users

I think an advent of recent months has been finding out that CR quite regularly gets recommended on Stack Overflow incorrectly. It's phenomenal that we now have a @Duga (thanks @Simon) to keep scanning comments so we can address accordingly. While it's good that SO users think of us, sometimes it is not appropriate.

What are some other ways we can educate SO users about what really belongs here?

\$\endgroup\$
  • 6
    \$\begingroup\$ I've no idea how to improve this, but the @Duga approach works quite well. We're reactive and some SO users seem to complement this work from time to time too. Now, when we graduate, there will probably be the "move to CR" button and people will simply click that instead of telling OP to go ask the question on CR. \$\endgroup\$ – Morwenn Jun 2 '15 at 8:53
  • \$\begingroup\$ For a "move to CR" button, SO would have to remove one of their existing migration paths. Furthermore, as was seen with Programmers.SE in the early days having that migration path can be very detrimental to the site and that migration path was removed because people didn't understand the right things to migrate. I doubt CR will be put on the migration path for SO for similar reasons - it can completely swamp the community moderation ability. \$\endgroup\$ – user22048 Jun 27 '15 at 13:55
33
\$\begingroup\$

'Low Quality' questions

I believe a common reason for questions to go unanswered is that they are not interesting. I see way too many questions without sufficient context, without a good explanation about what the code does (or how it does it).

These questions are typically good enough to not be down-voted much and/or closed. They are also bad enough to go unanswered for a long time.

Askers could do a better job at convincing answerers to spend about 30 minutes reviewing their code.

\$\endgroup\$
24
\$\begingroup\$

Missing Code Review Tools

When doing CR here on CR, everyone wastes time by

  • having to copy the code piecewise
  • having to split it rather than adding comments in between
  • not being able to see the formatted text (e.g., in a new windows) when writing long texts

I only watch tag Java and (after filtering out boring questions) there's much to do, but when this site gets bigger, I won't do more reviews as they cost needlessly too much time.

The standard SO format is not good enough for CR.

\$\endgroup\$
  • \$\begingroup\$ The biggest problem, or a problem? \$\endgroup\$ – 200_success Jun 22 '15 at 0:55
  • 8
    \$\begingroup\$ @200_success The biggest one! I don't care about graduation, don't care whether there are hundreds or millions of reviewers, and broken code and low quality questions costs me nearly no time, etc... From my position as a reviewer, I hardly care about anything mentioned in the other answers. I think that the lack of tools is something what repels many potential reviewers and slows down the others. \$\endgroup\$ – maaartinus Jun 22 '15 at 1:40
  • 1
    \$\begingroup\$ In that case, I suggest that you also start a separate meta question on the issue. \$\endgroup\$ – 200_success Jun 22 '15 at 2:34
  • 3
    \$\begingroup\$ @200_success Done. \$\endgroup\$ – maaartinus Jun 22 '15 at 3:24
  • \$\begingroup\$ @maaartinus Did you know SimonAndréForsberg made a tool specifically to help reviewing code? I think it's a simple user script, you should ask him in the 2nd Monitor, or look at his questions, since he posted it for review. \$\endgroup\$ – Phrancis Jun 23 '15 at 13:45
  • \$\begingroup\$ @Phrancis I know about it since yesterday, haven't tried it out yet. \$\endgroup\$ – maaartinus Jun 23 '15 at 17:54
17
\$\begingroup\$

Niche tags

Hosch250 already stated we need more answerers. We also need to have a better spread of specialists over all the languages out there.

This question about Factor has been around since '11. It's a good question, but it doesn't have answers. Why? We have nobody speaking Factor on CR. It's a niche tag with only 3 questions. TCL has two questions (both answered). Even languages which are often posted on SO are sometimes scarce on CR. For example: MATLAB

If people find only two questions in the language they're interested in, they won't post their code. If nobody posts their code, there won't be a community. Pimgd recently posted a question on Community Building which addresses this problem.

We need more spread.

\$\endgroup\$
  • 4
    \$\begingroup\$ That's the chicken-and-egg problem: SO users post review questions on SO in these tags because there's not enough of such content on CR, and there's not enough of such content on CR because SO users post review questions on SO "where the community is for these tags". \$\endgroup\$ – Mathieu Guindon Jun 3 '15 at 16:40
  • \$\begingroup\$ Isn't this a duplicate of @Pimgd's answer? \$\endgroup\$ – 200_success Jun 3 '15 at 18:14
  • \$\begingroup\$ @200_success Pim specifically mentions Could it help to create more questions that are about general issues? where I say we need a broader range of questions. Basically, more less-general issues. \$\endgroup\$ – Mast Jun 3 '15 at 18:30
  • 1
    \$\begingroup\$ Or maybe MATLAB code tends to be written by grad students who don't care about code quality, or don't know any better? \$\endgroup\$ – 200_success Jun 3 '15 at 19:29
  • \$\begingroup\$ @200_success That's not true. I know a couple of highly specialised enterprises which regularly use MATLAB for DSP prototyping environments. \$\endgroup\$ – Mast Jun 3 '15 at 19:45
  • 2
    \$\begingroup\$ We need to attract Rebol enthusiasts. They are fanatics. They would love to make their code perfect :D \$\endgroup\$ – Morwenn Jun 5 '15 at 11:58
  • \$\begingroup\$ @Mast, sure there are people out there who are highly skilled software developers who use MATLAB but it has been my overwhelming experience that most people who use MATLAB are experts in non-software areas who use it as a tool to solve their problems. MATLAB is great for quickly prototyping ideas but in the context of the code-review site it suffers from its own success as its strength isn't about producing high quality code artifacts but rather prototyping. This doesn't mesh so well with the culture of a site that is all about pushing for maximum code quality... \$\endgroup\$ – shuttle87 Jun 22 '15 at 20:05
  • \$\begingroup\$ @shuttle87 I could've picked a better example, vhdl perhaps. It was meant as 'a tag which does fare well on SO but not on CR'. \$\endgroup\$ – Mast Jun 22 '15 at 20:09
  • 1
    \$\begingroup\$ VHDL strikes me as a good example but I wonder though how large the pool of qualified people are to review that language is? MATLAB strikes me as a bit of an unfortunate case because a lot of people use it but don't see the value of improving their code. The perceived ROI on the time required to do so just isn't going to be seen as favorable if programming is seen as tangential to whatever the main activity is. Specifically there's people I've worked with on MATLAB code who probably would have quietly scoffed at submitting code for review on a site like this, and they needed it the most! \$\endgroup\$ – shuttle87 Jun 22 '15 at 20:14
15
\$\begingroup\$

We have a big problem of not having a variety of quality answers. I notice the same people answering, moderating, and commenting on questions quite frequently.

How can we attract more users with a deep skill set?

This brings me to another point; user retention. I see many users posting for the first time, often referred from Stack Overflow, and that's great! But how can we encourage these users to keep coming back? How can we encourage new users to not only join, but stay, and ultimately participate in helping this site turn into something truly great?

I think that Rolfl makes a great point when mentioning that we aren't

graduated as a site.

He is exactly right, but the bigger question here is; how can we get there?

\$\endgroup\$
15
\$\begingroup\$

Answering from my phone so a little bit short.

One of the biggest problem for me is that people who upvoted a question e.g with no answer won't come back to check if there is any answer.
I know that the CR format is different to SO because people usually don't have the same problem but I wish that 'upvoter' would recheck the question to also upvote a given answer if it is worth the vote.
An answerer would hopefully come back to CR if his/her answer of a question with 5 or more votes won't only get 1 vote.

\$\endgroup\$
  • 3
    \$\begingroup\$ This is especially true on low traffic tags. No matter how thorough of a review I write, the votes that I get don't seem to justify the effort I put into it. \$\endgroup\$ – cimmanon Jul 14 '15 at 14:35
10
\$\begingroup\$

I am a fairly new user on CR and here are some of my thoughts:

1) How do you post follow up code? The user updates their code following suggestions from an answer but they still have questions or follow up. What's the best way to do this? A new question?

2) Sometimes multiple answers can be right. If it's a review, different people can point out different things but only one answer can be marked as the answer. Now, you have to say "see so-and-so's answer above". So one user who put effort into giving an answer will get nothing for their effort (except for the satisfaction of helping someone out).

3) Today, there was a question by a new user on SO that was asking for a code review. Their question got multiple down votes immediately. A user recommended them to CR (which was appropriate). They posted on CR and, again, their question got down voted. This time because the title didn't ask for a code review and a few other nit picky things. IMO, this doesn't form a good first impression overall (for CR or SO).

4) Not sure if this is really in line with the question but a lot of what I have seen so far are a lot of users making the same kind of mistakes over and over. It would be nice if there were questions/answers we could point them to that discuss those things (instead of linking outside of SE).

5) Get rid of BETA. It implies it's not ready.

\$\endgroup\$
  • \$\begingroup\$ For follow-on requests, multiple answers (and again here ). That question cross-posted from SO and downvoed here... have a link? \$\endgroup\$ – rolfl Jun 9 '15 at 23:18
  • \$\begingroup\$ codereview.stackexchange.com/questions/93107/… It has since been updated. Maybe you can see the history though. \$\endgroup\$ – Gary Storey Jun 10 '15 at 15:07
  • \$\begingroup\$ And thanks for the links! \$\endgroup\$ – Gary Storey Jun 10 '15 at 15:08
  • \$\begingroup\$ That cross-posted question had code that did not compile (variables called wid}th, etc.) and other problems which clearly made the question off-topic. The history is messy but the end result is a better-quality question. I would consider it a success story... in the long term, but it did have a rocky start. \$\endgroup\$ – rolfl Jun 10 '15 at 15:12
  • 1
    \$\begingroup\$ I agree that it ended up well. I guess I personally don't want to see a new user coming to ask a question to get an immediate down vote. It is disheartening. Sure, we need to say "Your code is broken. Please only post working code". Give them a while to update it. If they don't update it, then give a down vote (or better yet, close it). \$\endgroup\$ – Gary Storey Jun 10 '15 at 16:03
  • 3
    \$\begingroup\$ @GaryStorey The point of closing a question that's not appropriate for CR (broken code) is to prevent useless answers like "you forgot to add a semicolon" (especially from newer users who aren't aware of this rule to begin with). \$\endgroup\$ – cimmanon Jun 11 '15 at 20:10
  • 1
    \$\begingroup\$ // , This happens on most q&a forums that have voting: "3) Today, there was a question by a new user on SO that was asking for a code review. Their question got multiple down votes immediately. A user recommended them to CR (which was appropriate). They posted on CR and, again, their question got down voted. This time because the title didn't ask for a code review and a few other nit picky things. IMO, this doesn't form a good first impression overall (for CR or SO)." I call it, "The Reddit Reaction." \$\endgroup\$ – Nathan Basanese Jun 14 '15 at 15:59
  • \$\begingroup\$ +1 for #4 & #5. \$\endgroup\$ – RubberDuck Jun 14 '15 at 16:46
9
\$\begingroup\$

There's not enough questions

I follow the tag and there's rarely more than one question a day (not counting broken code questions), if that. I kept an eye on for a while, but that seems to move even slower. It's rather difficult to stay engaged when there's little to no activity in the areas I feel most capable of contributing to.

\$\endgroup\$
  • 3
    \$\begingroup\$ How about javascript? \$\endgroup\$ – Mathieu Guindon Jun 3 '15 at 2:22
  • \$\begingroup\$ @Mat'sMug I don't write JavaScript if I can help it :p. Besides, a good portion of the JS questions use jQuery, which I don't/won't use. \$\endgroup\$ – cimmanon Jun 3 '15 at 2:37
  • 1
    \$\begingroup\$ But all JS stack snippets use CSS ;-) \$\endgroup\$ – Mathieu Guindon Jun 3 '15 at 2:40
  • \$\begingroup\$ Yes, nearly all of them modify various style attributes, that's not quite the same thing. \$\endgroup\$ – cimmanon Jun 3 '15 at 14:22
  • 2
    \$\begingroup\$ database is more of a helper tag, and it probably shouldn't be used. they should be using things like sql or nosql etc. \$\endgroup\$ – Malachi Jun 3 '15 at 15:07
  • \$\begingroup\$ @Lyle'sMug I don't entirely agree. A relational database design can almost always be understood by anyone who understands the relational model, regardless of which specific RDBMS they're using. The fact that some dialect of SQL is most commonly used to access RDBMS is secondary (though i don't expect anyone to be posting questions in Tutorial D). But that should be discussed in a different meta question... \$\endgroup\$ – cimmanon Jun 3 '15 at 15:50
  • \$\begingroup\$ Yes, the css tag is slow. We have too many questions, or rather, too few answers in other tags, though. \$\endgroup\$ – 23fc9a62-56de-47fb-97b4-737890 Jun 3 '15 at 23:55
  • \$\begingroup\$ I answer questions almost exclusively in the powershell tag on SO, and I follow it here as well. There are only 35 questions in the tag total. I do enjoy answering them, when they show up. \$\endgroup\$ – briantist Jun 9 '15 at 1:46
9
\$\begingroup\$

Code Review systematically prefers the least important code

There are already a large number of intrinsic hurdles before production code can get reviewed; it can be against company policy, paid developers are likely less open to criticisms and new coders are the only ones actually actively looking for help.

But then Code Review comes to stomp on the little fire we have:

  • Code can't really be anonymized (else it's "theoretical"),
  • Good code doesn't get reviewed as much,
  • Complex code gets ignored,
  • Votes further award "lowest common denominator" questions,
  • Code must be "snippeted", which makes extracts from production code unrunnable.

Even the low volume of commentary on questions is likely to contribute - newbies often get immediate, simple answers (naming! comments!) but no such activity exists for most professional questions.

To be clear, it's not that I don't accept the toy questions or challenges. However, there is a downward spiral, in that the prevalence of exclusively toy questions enforces the notion that Code Review is for toy questions.

I don't know how we could change this, but it seems one would need a dedicated call to giving attention and good-quality answers to professional code. We should at least keep up the impression - like in-person peer review, the emphasis should be on immediate and hypothetical suggestions, not ground-up rewrites. Voters should appreciate this, and not leave such answers ignored. Perhaps even bounties could get involved - who knows?

(Let's not forget that "looks good" after a few clarifying questions is a valid review, but Code Review has almost no such answers.)

If we can't shake of this stigma now, we may never be able to.

\$\endgroup\$
  • 3
    \$\begingroup\$ Good observations. I'm not sure how solvable these issues are, but we certainly can't address them adequately in this comment thread. I suggest that you start a new Meta question. \$\endgroup\$ – 200_success Jul 21 '15 at 2:10
  • \$\begingroup\$ Great perspectiive, though one problem is that Code Review seldom is an option for "professional" code simply as a result of licensing problems. Can you think of a way to address that further in this answer? \$\endgroup\$ – rolfl Jul 21 '15 at 3:03
  • 2
    \$\begingroup\$ @200_success meta.codereview.stackexchange.com/questions/5786/… \$\endgroup\$ – Veedrac Jul 21 '15 at 19:51
  • \$\begingroup\$ @rolfl Sadly, I have no solution. \$\endgroup\$ – Veedrac Jul 21 '15 at 19:54
8
\$\begingroup\$

I think part of the issue is also one of applicability. When I have a problem, I go to a search engine and enter my question, and inevitably, StackOverflow pops up with an answer. However, when I'm looking at some code with an eye to refactoring, my first thought isn't to look on Code Review to see how it was done by others. In fact, I'm not sure what I would search for in a lot of cases.

That said, I think this site is an incredible resource and that more people should be using and reading it. I wonder if it would be possible to do some sort of "marketing" to attract users? Other answers have pointed out that lots of people on StackOverflow recommend it, but they usually recommend it incorrectly. If we could keep (or better yet increase) the recommendation rate, but improve the number of useful recommendations, that would be ideal. I don't know how to do that off the top of my head, though.

\$\endgroup\$
  • \$\begingroup\$ // , "I don't know how to do that off the top of my head, though." Have any further ideas come to mind? \$\endgroup\$ – Nathan Basanese Jun 14 '15 at 16:03
  • 1
    \$\begingroup\$ One thought I had was that maybe if there were a FAQ on migrating questions that could point out the correct place, it might be useful. There's something like that on the What topics can I ask about here page of SO, but it only lists about 5 other places. Maybe all sites could share some sort of FAQ that describes the purpose of each site? Or maybe that would be a firehose, and it should be limited to all computer/programming-related sites? \$\endgroup\$ – user1118321 Jun 14 '15 at 16:08
  • 2
    \$\begingroup\$ Oh, and the way I found Code Review was when one of the ads on the side was replaced with a link here. Maybe running another one of those would be helpful? Maybe if we also ran it on Programmers SE it would also help? \$\endgroup\$ – user1118321 Jun 14 '15 at 16:10
  • \$\begingroup\$ // , How could we test these? \$\endgroup\$ – Nathan Basanese Jun 14 '15 at 16:25
  • \$\begingroup\$ I like that idea and it's nice to know how you found your way here. I'm also happy to be proven wrong about my answer here. =;)- \$\endgroup\$ – RubberDuck Jun 14 '15 at 16:45
  • \$\begingroup\$ @NathanBasanese The easiest way would be to run another ad on SO and see if we get an increase in users after doing so. I don't know how easy/hard it is to add FAQs, but it seems like having a "where should I ask?" type FAQ with the list I mentioned above would be an easy way to see if it works. Can anyone just create an FAQ/Help page or does SO meta need to approve it? How's that work? \$\endgroup\$ – user1118321 Jun 14 '15 at 17:41
  • \$\begingroup\$ // , Sounds like a good question for meta: meta.codereview.stackexchange.com/questions/5476/… BAM!!! Ready and waiting for your downvote pleasure. \$\endgroup\$ – Nathan Basanese Jun 14 '15 at 19:09
7
\$\begingroup\$

Meta Meta Meta

I'm not sure if I'd say it's our biggest problem, but I do feel it's A problem that there's a lack of activity here on meta. Oh sure, the "regulars" from the chat room are mostly here, but rarely does "the silent majority" share their thoughts and opinions about the site here.

I'm not sure that there's really anything to be done about it. I'm really just taking it as an opportunity to call it out and invite anyone reading this who only passively interacts with meta to get involved. This is your site too. We want to hear from you too.

\$\endgroup\$
  • \$\begingroup\$ I don't really consider this a problem. The silent majority is silent for a reason, and it's the very same with all meta sites across the network I know (well maybe aside from MSE)... \$\endgroup\$ – Vogel612 Jun 8 '15 at 12:39
  • 1
    \$\begingroup\$ I do think it's a problem. Most of the other metas I've been to seem to have a large cross section of users representing the community. We seem to only have a small % of the community being represented here on meta. It can make things seem like a tyranny of a small number of users when it really should be a sort of democracy. \$\endgroup\$ – RubberDuck Jun 8 '15 at 12:43
  • 6
    \$\begingroup\$ I have a query which ranks sites by how they stack up against each other in terms of badges awarded. Our meta site ranks 9th overall. I would say that is healthy: Meta site badge rankings \$\endgroup\$ – rolfl Jun 8 '15 at 12:59
  • 2
    \$\begingroup\$ // , Regardless, I think RubberDuck brings this up for the right reasons. People who participate in Meta will get an appreciation for why things are the way they are, and get a sense of community, especially those who might not normally do so otherwise. \$\endgroup\$ – Nathan Basanese Jun 14 '15 at 16:02
4
\$\begingroup\$

Summary

In direct answer to the original question, it seems that CR is struggling to develop a sufficiently deep community to grow and be successful. I don't know that I can add much to what has already been said, as I think that the existing answers capture all the main reasons. I just want to present some thoughts and suggestions.

Q's/A's are very specific

user1118321's and Pimgd's have a good point. The answers to a code review largely only benefit the poster due to the highly specific nature of the question and answer. Even if a question did have the answer you were looking for, you would probably not spend the time understanding the question and go elsewhere.

Q's/A's beneficial for short time

Another issue that may not have been fully described is, that not only do answers have a used-by-date but so to do the questions. You ask a question today about your code, get it reviewed and in 3 months time, the code you wrote has been rewritten. Is it worth updating the answers? You certainly can't update the question as it would invalidate the answers. Posts on CR are inherently shorter lived.

Low incentives

Another thing that stands out to me from the existing answers, is that there seems to be little incentive for answerers to participate. I'm kind of jealous of some of the questions on SO like this one as an example. The poster asks a simple question about a language feature and then gets over 5000 votes (building up a huge amount of rep). And I know why, when I search for a simple answer to a question like that and Google gives me a SO question I know I'm going to get the answer succinctly.

I think one thing that could be worth looking at, is increasing the amount of rep artificially because earning it is hard on CR. And if it is hard to earn, then you probably aren't going to offer bounties. I think bounties would generate more interest. So maybe we could have some bounty fairies go around and add bounties to worthy questions. In the end its funny money to intice us to create a community where we can mutually achieve quality code review and all become better programmers.

\$\endgroup\$
3
\$\begingroup\$

Not enough downvotes.

The only questions I see with a negative score are questions that are either on hold, closed, deleted, or accumulating close votes on their way to being put on hold.

Frequently, I'll find that my downvote is the only downvote on a post.

Often times, I feel that a post's score isn't a measure of its quality but rather a measure of its view count. More views = more votes, all of them up (and for those of us who make most of their posts in tags that get fewer views, this can become frustrating, but that's a different point).

\$\endgroup\$
  • 4
    \$\begingroup\$ I partially agree with this answer, but there's a technicality that is skewing the results: The system will automatically delete unlocked, unanswered questions that have negative score after 30 days. \$\endgroup\$ – rolfl Jun 29 '15 at 14:23
  • \$\begingroup\$ I posted this answer fully aware of this technicality. I know the results are skewed. I posted this answer with the skew in mind. \$\endgroup\$ – nhgrif Jun 29 '15 at 14:26
  • \$\begingroup\$ @rolfl Yes, but won't good, upvoted answers would protect a low scoring question from automatic deletion? That's what the reversal badge is awarded for: writing a good answer for a bad question. \$\endgroup\$ – cimmanon Jul 2 '15 at 19:51
  • \$\begingroup\$ @cimmanon - you are correct. I never claimed it would remove all -ve questions just that it would significantly skew the results. I put some numbers in to the 2nd monitor here: chat.stackexchange.com/transcript/8595?m=22447571#22447571 \$\endgroup\$ – rolfl Jul 2 '15 at 19:53

You must log in to answer this question.

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