Why we don't allow deleting comments in Code Collaborator

  February 03, 2009

One of the questions we get asked all the time is: Why don't you allow users to delete comments in Code Collaborator?

It makes sense to want this.  How often have you fired off a piercing, biting comment exposing the lunacy of your unwitting co-worker.... only to realize you're totally wrong!  How embarrassing.

Another use-case is to be able to leave a "note to self" which you can later delete.

Why it doesn't make sense to delete a comment
Comments in Code Collaborator work like an "instant message" chat system like AIM -- once you post them, everyone in the review can see them instantly.

Instant message chat systems don't let you delete messages either.  Why not?  Because the other person has (probably) already read it and in fact might have already responded!  If you deleted the comment without a trace, the chat conversation would no longer make sense and it would certainly confuse the person you're chatting with.

Another reason is that some people need the fact that comments are an immutable audit trail.  Some processes require an airtight record.  On this point, though, I would concede that most of you don't have such requirements.

What does make sense: Redaction
OK so you can't just delete without a trace, but how about deleting with a trace?

An idea we've been contemplating is to allow you to "delete" a comment, but rather than disappearing forever there would still be some indication that the comment used to exist.

One way would be to draw the comment with strike-though, much like how defects are drawn once they're "marked fixed."

Another would be to hide the comment entirely with a small visual indicator of where it once was, and then a click (or hover?) would expose the redacted text.

Tell us what you think!
What are your thoughts on this?  Leave a comment and let us know.