Do I Have to Read Every Comment?
Develop | Posted May 29, 2009

Not everyone uses the same approach for doing code review. Some folks are very informal, others have a rigidly defined process, and there is a wide range in between.

This presents a challenge for us, since we sell a code review tool. We want to enable folks to use whatever process (or lack thereof) they want and have their approach well supported in our tool. The tool should adapt to you, not the other way around.

The end result: many dials and switches you can turn to modify the behavior of Code Collaborator.

For example, the out-of-the-box behavior is that all participants in a review must read all comments. This can lead to what Christopher Owen refers to as "a game of whack-a-mole, but not as satisfying." You read all the comments you haven't seen yet, click Finished, and then later someone else adds another comment so you get another notification from Code Collaborator.

There is a way to stop that in v4.0 (leave a comment if you want to know more), but in v5.0 we've improved all of this dramatically. In v5.0 there is a setting for each role called: "Required to Read All Comments." The default is "yes," which means the default behavior is still the same as it was in v4.0: all participants must read all comments.

Changing the setting from "yes" to "no" is much more useful in v5.0, however, because of an additional enhancement to the user interface. The Finished button used to be your only option, but in v5.0 there is also a Waiting option, which is handy if you have a question or concern and therefore want to prevent the review's status from being set to "Completed."

After you have examined everything you want to see in a review, you now have a choice: you can Wait until a specific event occurs or you can indicate you are Finished unless a specific event occurs. You won't get any notifications from Code Collaborator about that review until the selected event occurs.

If you select Finished and the selected event does not happen and the remaining participants also choose Finished, then you will not get any more notifications about that review and the review's status automatically (and happily) changes to Completed.

The list of events (from least to most specific):

  • Any activity - pretty much means what it says - if anything happens (a comment from some other participant, a new file upload, whatever).

  • Author activity - anything done by one of the participants who is an Author for the review.

  • File activity - file additions, uploads, etc.

  • Someone pokes me - v5.0 has a new user interface control that sends a notification to a review participant, so someone has to specifically "poke" you in order for this event to occur.

As a result, in v5.0 each participant gets much more control over their level of participation in each review. And that's especially true if their role has "Required to Read All Comments" set to "no."

So the answer is "No, you don't have to read every comment," assuming Code Collaborator is configured for that sort of process.