Code review in TFS is target on code changes or work items, ether pending changes, shelved changes, or post check in.
Let’s consider a common scenario: made some changes, request a code review, after getting some feedback, modify source code accordingly, it might or might not big changes. What should I do next, request a fresh code review – TFS or update the existing code review with full discussion in one thread – CodeCollaboration? Personally I prefer what CC does.
Another scenario: I did a brand new development in my personal branch, and it needs to be reviewed before sync to main. TFS forces me to do synchronization first, and then request a review on the shelved change. It is fair enough, but what if it is not ready to sync, code review feature needs to consider pure new code changes, not only delta. Here is a comparison between pre-commit and post-commit review