The most complete solution for Team System Code Reviews - a specific work item type and a Visual Studio add-in for a completely in IDE code review experience
Jane Coder submits a request to review code by entering a new Task and assigning it to Joe CodeReviewer
Then in the IDE Joe CodeReviewer right clicks and uses the TeamReview menu
In the New Code Review Response form Joe selects a Team Query to find Jane's request and then fills out the information and assigns the new Code Review Response to Jane. Note here that the Title is pre-filled by TeamReview
Joe finds another contentious point and uses TeamReview again. This time TeamReview pre-populates the "Query From", "Associate With", and "Assign To" values using the information from the last time.
When Joe is done submitting feedback he re-assigns the original review request from Jane back to her not shown. Now the review is over and the original code author, Jane, wants to see what feedback was given. She uses the "Code Review Replay" option of TeamReview
The Code Review Replay window comes up and Jane chooses a Team Query to identify her original review request.
Jane starts replaying Joe's feedback by selecting each row in the grid one-by-one, and as she does TeamReview re-opens and re-highlights the section of code Joe originally noted as having an issue.
Jane fixes the code from Joe's feedback and then wants to close the Code Review Response, so she double-clicks in the Code Review Replay Window to open the Work Item.
Of course all of this works because TFS is being used in the background. Here's what Jane's original request looks like with the linked Code Review Response items.
And here is what the Code Details tab of one of those items, Joe's feedback, looks like - with all the code heuristic details available for querying and reporting by TFS or SQL Reporting Services.