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:
- Question: Is there anything wrong with me doing it this way?
- Answer: Yes, you could run into a concurrency issue here.
- Would doing this check before spawning a thread solve that problem?
- Yes but an even more effective method would be not to spawn new threads at all. Try using a timer.
- Wouldn't a timer tie up the the original thread while the code executes?
- You can set up the timer to add a method call to the ThreadPool like this...
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:
- Posting a followup question
- Discussing in chat, or
- 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)?