<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx</link><description>As I mentioned in my recent post about how my team does agile , one of the core ingredients of our process is that nobody is allowed to check in without having gone through a code review and a test review. No other team that I’ve worked on previously</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9285305</link><pubDate>Tue, 06 Jan 2009 15:25:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9285305</guid><dc:creator>daniel</dc:creator><description>&lt;p&gt;I am a big fan of&amp;quot;code review&amp;quot;. I have been pushing this along within my team as well. However, without trying it myself, does your team feel that the approach of yelling out &amp;quot;code review&amp;quot; may be quite an interrupt to the whole team. For instance, this could break everyone's zone.&lt;/p&gt;
&lt;p&gt;My team uses VSTS shelveset. Reviewee emails the set name to a reviewer. Reviewer does it for a break. Reviewer grabs the reviewee if there is any clarification needed. But my team approach has one big issue is that the reviewee may be waiting for quite a while until the review is done, which is quite annoying sometime.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9285784</link><pubDate>Tue, 06 Jan 2009 20:01:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9285784</guid><dc:creator>Hal</dc:creator><description>&lt;p&gt;What about continuous integration? &amp;nbsp;I would think that the efficiency of the process you describe could be improved if devs first checked into a CI branch where automated unit and functional tests were run. &amp;nbsp;On success devs could &amp;nbsp;then peer review merges to the main line of development and trigger a new round of automated testing.&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9285836</link><pubDate>Tue, 06 Jan 2009 20:30:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9285836</guid><dc:creator>Bob</dc:creator><description>&lt;p&gt;Hal you make an excellent point. What he is describing could definitely be automated at least partially through a continuous integration server. &amp;nbsp; &lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9286196</link><pubDate>Wed, 07 Jan 2009 00:22:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9286196</guid><dc:creator>tomholl</dc:creator><description>&lt;p&gt;Daniel - noise is not uncommon in our team room, and the odd shout is probably a lot less distracting than other things that happen (my singing, for example). Having someone review a shelf-set on their own computer would have some value, but it doesn't address the goal of our code reviews. The developer-to-developer interaction is the most significant part of the way we do this.&lt;/p&gt;
&lt;p&gt;Hal/Bob - as per my earlier post on how we do agile, we do run a CI build, but this happens after the reviews are complete. The CI build is important but picks up a different class of issues to code reviews. Developers will only ask for a code review if they have high confidence that the CI build will succeed (i.e. all the code builds and tests pass on their own machine).&lt;/p&gt;
</description></item><item><title>VSTS Links - 01/07/2009</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9287439</link><pubDate>Wed, 07 Jan 2009 17:04:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9287439</guid><dc:creator>Team System News</dc:creator><description>&lt;p&gt;James Whittaker on New Year's Resolutions Tom Hollander on The Joy of Code Reviews Ayman Badawi on...&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9291267</link><pubDate>Thu, 08 Jan 2009 02:29:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9291267</guid><dc:creator>Alby</dc:creator><description>&lt;p&gt;Code review is awesome (done in the right spirit anyway). Have you considered an online code review tool like Reviewboard, Codestriker, Atlassian Crucible, Smartbear Codecollaborator.&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9296667</link><pubDate>Thu, 08 Jan 2009 14:29:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9296667</guid><dc:creator>Carel Lotz</dc:creator><description>&lt;p&gt;Alby&lt;/p&gt;
&lt;p&gt;I agree, the right spirit is key to the success of code reviews. &amp;nbsp;Being collocated is IMHO another key ingredient for optimizing the cost/benefit factor of doing the review. &amp;nbsp;I am currently working in a distributed team and this makes the review process a lot more painful and cumbersome.&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9333951</link><pubDate>Sat, 17 Jan 2009 06:29:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9333951</guid><dc:creator>Jon Kruger</dc:creator><description>&lt;p&gt;Did you consider having everyone pair program all the time (sort of an ongoing code review)? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you noticed a difference in quality (fewer bugs) since you started doing the code reviews? &amp;nbsp;Have you noticed if it's taking longer to get things done?&lt;/p&gt;
&lt;p&gt;Just curious because I've been thinking about this kind of thing a lot lately and I think I'm ready to take the plunge.&lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9334249</link><pubDate>Sat, 17 Jan 2009 07:30:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9334249</guid><dc:creator>tomholl</dc:creator><description>&lt;p&gt;Jon - The code review process I've described here was entrenched in the team's culture before I joined, so I can't offer a &amp;quot;before and after&amp;quot; comparison within the same team. I think the major benefit of the approach is to improve code quality and maintainabiliy more than to reduce bugs, but there have definitely been cases where potential bugs have been picked up by code reviewers.&lt;/p&gt;
&lt;p&gt;We do use pair programming at times (primarily for complex tasks), but in my experience it isn't an effective use of development resources for more routine requirements. &lt;/p&gt;
</description></item><item><title>re: The Joy of Code Reviews</title><link>http://blogs.msdn.com/tomholl/archive/2009/01/06/the-joy-of-code-reviews.aspx#9374340</link><pubDate>Sun, 25 Jan 2009 00:53:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9374340</guid><dc:creator>cellfish</dc:creator><description>&lt;p&gt;I don't think code reviews can be automated using continous integration since the purpose of the code review is to have another set of eyes take a look at the code and see if the design can improve and/or spread knowledge of the code. The only thing that does this &amp;quot;better&amp;quot; is pair programming IMHO.&lt;/p&gt;
&lt;p&gt;And regarding the shout outs vs. having people review code using tools/shelveset by them selfs it takes an extremly competent reviewer to actually ask those questions at a later time. But if the reviewer is sitting with the author the reviewer more easily ask questions. In my experience face-2-face reviews result in more comments and discussion than if the reviewer sits alone. And more comments and more discussion are generally better I think.&lt;/p&gt;
</description></item></channel></rss>