We recently held a code review for a system we'll be working with intensely over the coming months. Like car parking spaces, desk moves, checkout queues and methodologies, code reviews are one of those things that tend to make normal, sane, rational people turn feral. It was important that the right tone be set so that everyone involved could engage constructively and with respect. In order to create a common understanding of what we were trying to achieve we kicked off with a discussion about what 'well-factored' code really meant, attempting to eliminate some of the subjectivity that typically surrounds this topic (checkout some of the discussion on the c2 wiki!). I threw together this mindmap using freemind to give us something to use as a starting point:
I'm pleased to say that the team reached consensus on the next steps to move forward after weighing up the cost and risk of the various options that the review produced and are now busy building out a backlog with their product owner for the work identified.
Amusingly, when I arrived home that day there was a new copy of Uncle Bob's Clean Code on the sofa which O had just purchased.