24
\$\begingroup\$

For most SE sites, a simple comment is sufficient to exchange a little additional dialogue about a solution. For code review though, it seems like one question can spawn a huge list of suggested improvements, or one which needs a cycle of feedback to get to the goal intended by the asker or the solution intended by the answerer.

As an example, a code review might involve the following:

  1. Question: Is there anything wrong with me doing it this way?
  2. Answer: Yes, you could run into a concurrency issue here.
  3. Would doing this check before spawning a thread solve that problem?
  4. Yes but an even more effective method would be not to spawn new threads at all. Try using a timer.
  5. Wouldn't a timer tie up the the original thread while the code executes?
  6. You can set up the timer to add a method call to the ThreadPool like this...
  7. TYVM!

Almost all valuable, and arguably necessary exchanges to achieve a complete solution, but there's no way to carry out this 'forum' style discussion on this non-forum site. Now imagine a single code review generates 4 or 5 such comments inspiring followup - chaos ensues.


The inspiration for this question was what I thought was a fairly small bit of code which ended up being an (admittedly broad) question: Polling loop to run in a background thread

To be clear, the answer I got is tremendously helpful, and I intend to award it a bounty once I earn enough rep that it won't cripple my permissions here. There are some aspects of his comments I wish to address though, but I feel like none of my usual avenues for verbose responses to answers are suitable:

  1. Posting a followup question
  2. Discussing in chat, or
  3. Editing additional information into my original question

So for now (as you can see), I've added 5 comments which could, in turn, generate additional comments from the answerer (if the asker kindly obliges my followups).

Perhaps the real problem is that certain code reviews present so many issues that no single issue deserves a complete synopses and working solution. Perhaps to right SE way to address them would be to take each issue to Stack Overflow as separate questions to iron out the details.

What behaviour do we want to encourage? How can we support lengthier dialogue directed at individual answers with the current comment limits and other restrictions (without bastardizing the Stack Exchange framework of course)?

\$\endgroup\$
  • \$\begingroup\$ Re: The example question - One aspect of the code review spurred a big enough re-write that I generated a followup question \$\endgroup\$ – Alain Jul 6 '12 at 14:50
8
\$\begingroup\$

I would recommend taking the discussion to chat and then posting relevant parts of the discussion back to the original question and/or to the answer.

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

I'd like to suggest promoting follow-ups instead of chat.

Rather than waste valuable information in comments and chat (neither of which are meant to be permanently accessible), suggest a follow-up at the first opportunity.

  1. Question: Is there anything wrong with me doing it this way?

  2. Answer: Yes, you could run into a concurrency issue here.

  3. Would doing this check before spawning a thread solve that problem?

  4. "Rather than go further in comments, why don't you post your improved code for a follow up? That way, we can discuss your improved code efficiently."

A follow-up is perfect for this situation. Comments and chat are an OK way to discuss things, but more often than not, the asker (and the site) will benefit more from a follow-up question about the improved code.


If you suggest a follow-up question, there are all sorts of benefits

Here are a few of them:

  1. You have a fresh platform to answer further questions. Comments and chat make it difficult to discuss code in detail. With a new question, you've got all of the tools necessary.

  2. The site gains quality activity. The code has already been improved once, so you and other reviewers can offer more fundamental, specific, quality changes, rather than focusing on cleaning up a big mess.

  3. You get rep for the additional time spent. SE seems to want to see more voting and more rep (among other things) before this site can reach graduation.


Multiple Follow-Ups are great

I personally would mind seeing "Question Title - Follow Up 4" in the question queue here. Probably the main thing that the site is lacking is retention. Suggesting follow-ups to users generously (ask them to come back for a third and fourth follow-up if they seem willing continue developing and improving the code involved) promotes retention by keeping them around.

\$\endgroup\$

You must log in to answer this question.

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