<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Confessions of a programmer: I hate code review</title>
	<atom:link href="http://blog.nelhage.com/2010/06/i-hate-code-review/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nelhage.com/2010/06/i-hate-code-review/</link>
	<description>It's software. It's made of bugs.</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:48:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Inspectify &#124; PHP Web developer, Robert Kern</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-13688</link>
		<dc:creator>Inspectify &#124; PHP Web developer, Robert Kern</dc:creator>
		<pubDate>Sun, 17 Apr 2011 00:16:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-13688</guid>
		<description>&lt;p&gt;[...] TopicsHonduras (25)Hosting (3)How to (9)iphone (11)Mac (8)Movies (1)Off Topic (9)PHP (9)Recipes App (12)Servers (1)Software (9)Subversion (4)Technology (4)Uncategorized (1)Videos (8)Web Development (24)Performance (1)Security (3)&#160;ArchivesApril 2011October 2010December 2009November 2009October 2009July 2009June 2009May 2009April 2009March 2009February 2009January 2009December 2008November 2008October 2008September 2008August 2008July 2008June 2008May 2008April 2008March 2008February 2008January 2008July 2007HomeContact me&#171; Sysadmins: how to make the programmers love youInspectifyHome &gt; PHP &gt; InspectifyI&#8217;ve been working on a new project for a while &#8211; code review for teams.The idea is that teams of developers want/need a simple way to ensure that their code gets reviewed by other people in their team (without having someone looking over your shoulder).  I think enough other people have talked about why we need code review (see below), but there hasn&#8217;t been a suitable, easy platform for doing it.https://www.owasp.org/index.php/Code&lt;em&gt;Review&lt;/em&gt;Introductionhttp://www.codinghorror.com/blog/2006/01/code-reviews-just-do-it.htmlhttp://blog.nelhage.com/2010/06/i-hate-code-review/There are a few hosted code review apps, but hopefully for commercial apps you have a policy to keep source-code in-house.  So we need an installable code review app, that automatically fetches commits from a repository, and provides a simple interface to do simple code review.Inspectify is my answer to this problem.  It&#8217;s still a wee way off, but when it&#8217;s ready, you&#8217;ll be able to install it on a basic *nix box and start reviewing your Subversion-based code (support for other SCM&#8217;s may come later).  This entry was posted on Saturday, April 16th, 2011 at 6:16 pm and is filed under PHP, Software, Subversion, Web Development. You can follow any responses to this entry through the RSS 2.0 feed.You can leave a response, or trackback from your own site. Leave a comment Name (required) Mail (will not be published) (required) Website [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] TopicsHonduras (25)Hosting (3)How to (9)iphone (11)Mac (8)Movies (1)Off Topic (9)PHP (9)Recipes App (12)Servers (1)Software (9)Subversion (4)Technology (4)Uncategorized (1)Videos (8)Web Development (24)Performance (1)Security (3)&nbsp;ArchivesApril 2011October 2010December 2009November 2009October 2009July 2009June 2009May 2009April 2009March 2009February 2009January 2009December 2008November 2008October 2008September 2008August 2008July 2008June 2008May 2008April 2008March 2008February 2008January 2008July 2007HomeContact me&laquo; Sysadmins: how to make the programmers love youInspectifyHome &gt; PHP &gt; InspectifyI&#8217;ve been working on a new project for a while &#8211; code review for teams.The idea is that teams of developers want/need a simple way to ensure that their code gets reviewed by other people in their team (without having someone looking over your shoulder).  I think enough other people have talked about why we need code review (see below), but there hasn&#8217;t been a suitable, easy platform for doing it.<a href="https://www.owasp.org/index.php/Code" rel="nofollow">https://www.owasp.org/index.php/Code</a><em>Review</em>Introductionhttp://www.codinghorror.com/blog/2006/01/code-reviews-just-do-it.htmlhttp://blog.nelhage.com/2010/06/i-hate-code-review/There are a few hosted code review apps, but hopefully for commercial apps you have a policy to keep source-code in-house.  So we need an installable code review app, that automatically fetches commits from a repository, and provides a simple interface to do simple code review.Inspectify is my answer to this problem.  It&#8217;s still a wee way off, but when it&#8217;s ready, you&#8217;ll be able to install it on a basic *nix box and start reviewing your Subversion-based code (support for other SCM&#8217;s may come later).  This entry was posted on Saturday, April 16th, 2011 at 6:16 pm and is filed under PHP, Software, Subversion, Web Development. You can follow any responses to this entry through the RSS 2.0 feed.You can leave a response, or trackback from your own site. Leave a comment Name (required) Mail (will not be published) (required) Website [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Linkopedia June 2010 &#124; From the Editor of Methods &#38; Tools</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1592</link>
		<dc:creator>Linkopedia June 2010 &#124; From the Editor of Methods &#38; Tools</dc:creator>
		<pubDate>Mon, 14 Jun 2010 07:21:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1592</guid>
		<description>&lt;p&gt;[...] Blog: Confessions of a programmer: I hate code review [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Blog: Confessions of a programmer: I hate code review [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: steven</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1529</link>
		<dc:creator>steven</dc:creator>
		<pubDate>Wed, 09 Jun 2010 02:28:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1529</guid>
		<description>&lt;p&gt;At the start of a day, focus on cleaning up any left over code reviews BEFORE you get back into the mindset of something else.&lt;/p&gt;

&lt;p&gt;This leaves the potentially longest delay as a day.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>At the start of a day, focus on cleaning up any left over code reviews BEFORE you get back into the mindset of something else.</p>

<p>This leaves the potentially longest delay as a day.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: xilnar</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1528</link>
		<dc:creator>xilnar</dc:creator>
		<pubDate>Wed, 09 Jun 2010 00:27:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1528</guid>
		<description>&lt;p&gt;In above comments, I can see calls for &quot;Review at interrupt priority&quot;.&lt;/p&gt;

&lt;p&gt;Seriously?&lt;/p&gt;

&lt;p&gt;You can only do that if you are not already coding something for what you indeed need to use your brain, or you will be likely to lose at very least 2 hours simply because of this interruption.&lt;/p&gt;

&lt;p&gt;Not something I would call very effective.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>In above comments, I can see calls for &#8220;Review at interrupt priority&#8221;.</p>

<p>Seriously?</p>

<p>You can only do that if you are not already coding something for what you indeed need to use your brain, or you will be likely to lose at very least 2 hours simply because of this interruption.</p>

<p>Not something I would call very effective.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Adde</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1523</link>
		<dc:creator>Adde</dc:creator>
		<pubDate>Tue, 08 Jun 2010 15:05:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1523</guid>
		<description>&lt;p&gt;Have you tried using Git locally to manage your workflow?
Send request for code review, branch, do related work, make changes from code review, merge branch.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Have you tried using Git locally to manage your workflow?
Send request for code review, branch, do related work, make changes from code review, merge branch.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Mujtaba Hussain</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1520</link>
		<dc:creator>Mujtaba Hussain</dc:creator>
		<pubDate>Tue, 08 Jun 2010 03:38:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1520</guid>
		<description>&lt;p&gt;Why not pair on the code itself rather than finish it and then submit the request ? &lt;/p&gt;

&lt;p&gt;Pair with someone on the code and then you do not need the review!&lt;/p&gt;

&lt;p&gt;Mujtaba Hussain&lt;/p&gt;

&lt;p&gt;P.s. Also, make sure you write tests :P&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Why not pair on the code itself rather than finish it and then submit the request ? </p>

<p>Pair with someone on the code and then you do not need the review!</p>

<p>Mujtaba Hussain</p>

<p>P.s. Also, make sure you write tests :P</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Sporar</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1519</link>
		<dc:creator>Gregg Sporar</dc:creator>
		<pubDate>Tue, 08 Jun 2010 02:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1519</guid>
		<description>&lt;blockquote&gt;
  &lt;p&gt;Option (3) might be more tolerable with large projects, where development/review cycles are on the order of weeks. But those aren’t the projects I’m working on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which leads me to assume that you are making relatively small changes for which you would like quick feedback.  But quick feedback is not always available.  I&#039;m wondering if the team dynamic is not quite right - it almost sounds like the priority of performing a review for a team mate needs to increase.&lt;/p&gt;

&lt;p&gt;Another option would be pairing - the key benefit being the instant feedback.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If a customer reports a critical bug that I have to drop everything to investigate, I’ll be annoyed, but I at least feel like I’m doing something important that fixes a real problem and hopefully ends with a happy customer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But if in doing a code review for one of your team mates you could have &lt;em&gt;prevented&lt;/em&gt; that bug from being sent to the customer in the first place, wouldn&#039;t finding it provide you with the same level of satisfaction?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote>
  <p>Option (3) might be more tolerable with large projects, where development/review cycles are on the order of weeks. But those aren’t the projects I’m working on.</p>
</blockquote>

<p>Which leads me to assume that you are making relatively small changes for which you would like quick feedback.  But quick feedback is not always available.  I&#8217;m wondering if the team dynamic is not quite right &#8211; it almost sounds like the priority of performing a review for a team mate needs to increase.</p>

<p>Another option would be pairing &#8211; the key benefit being the instant feedback.</p>

<blockquote>
  <p>If a customer reports a critical bug that I have to drop everything to investigate, I’ll be annoyed, but I at least feel like I’m doing something important that fixes a real problem and hopefully ends with a happy customer.</p>
</blockquote>

<p>But if in doing a code review for one of your team mates you could have <em>prevented</em> that bug from being sent to the customer in the first place, wouldn&#8217;t finding it provide you with the same level of satisfaction?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Travis Calder</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1518</link>
		<dc:creator>Travis Calder</dc:creator>
		<pubDate>Tue, 08 Jun 2010 00:44:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1518</guid>
		<description>&lt;p&gt;Like @Tattoo my team currently does pairing with a task breakdown and design before attacking a problem. It keeps shared understanding very high.&lt;/p&gt;

&lt;p&gt;However, when that&#039;s not possible (distributed team, &quot;odd man out&quot;) code reviews are a very useful tool.&lt;/p&gt;

&lt;p&gt;I&#039;ll say this much: if you&#039;re waiting more than a couple of hours, that seems to me like an early sign of a problem. Presumably someone on your team will be reviewing, and reviewing is a known part of your process. Like @Flint said, code review is &quot;interrupt&quot; priority.&lt;/p&gt;

&lt;p&gt;If reviews are short (one to two hours max), busy wait is actually a very good option, assuming the &quot;busy&quot; part involves things of a professional nature such as keeping on top of industry trends and trying new technologies.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Like @Tattoo my team currently does pairing with a task breakdown and design before attacking a problem. It keeps shared understanding very high.</p>

<p>However, when that&#8217;s not possible (distributed team, &#8220;odd man out&#8221;) code reviews are a very useful tool.</p>

<p>I&#8217;ll say this much: if you&#8217;re waiting more than a couple of hours, that seems to me like an early sign of a problem. Presumably someone on your team will be reviewing, and reviewing is a known part of your process. Like @Flint said, code review is &#8220;interrupt&#8221; priority.</p>

<p>If reviews are short (one to two hours max), busy wait is actually a very good option, assuming the &#8220;busy&#8221; part involves things of a professional nature such as keeping on top of industry trends and trying new technologies.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: dave glasser</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1517</link>
		<dc:creator>dave glasser</dc:creator>
		<pubDate>Mon, 07 Jun 2010 23:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1517</guid>
		<description>&lt;p&gt;&lt;a href=&quot;#comment-1515&quot; rel=&quot;nofollow&quot;&gt;@Matt:&lt;/a&gt; I think your &quot;4&quot; is the same as Nelson&#039;s &quot;2&quot;.  The problem is that if the next change depends on the currently-reviewed on, and the code review takes a while and suggests major changes, your new work may have been wasted, regardless of what technical means you use to implement &quot;working on the next feature&quot;.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><a href="#comment-1515" rel="nofollow">@Matt:</a> I think your &#8220;4&#8243; is the same as Nelson&#8217;s &#8220;2&#8243;.  The problem is that if the next change depends on the currently-reviewed on, and the code review takes a while and suggests major changes, your new work may have been wasted, regardless of what technical means you use to implement &#8220;working on the next feature&#8221;.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: nelhage</title>
		<link>http://blog.nelhage.com/2010/06/i-hate-code-review/comment-page-1/#comment-1516</link>
		<dc:creator>nelhage</dc:creator>
		<pubDate>Mon, 07 Jun 2010 23:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.nelhage.com/?p=241#comment-1516</guid>
		<description>&lt;p&gt;&lt;a href=&quot;#comment-1515&quot; rel=&quot;nofollow&quot;&gt;@Matt &lt;/a&gt; I do use git for development everywhere, and use local branches heavily. That doesn&#039;t change the fundamental problems I described with options (2) and (3) -- the cost of rebasing on top of changes after feedback from a reviewer, or the cost of context-switching between unrelated projects. Local branching makes both options slightly technically easier, but doesn&#039;t change the fundamental issues.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><a href="#comment-1515" rel="nofollow">@Matt </a> I do use git for development everywhere, and use local branches heavily. That doesn&#8217;t change the fundamental problems I described with options (2) and (3) &#8212; the cost of rebasing on top of changes after feedback from a reviewer, or the cost of context-switching between unrelated projects. Local branching makes both options slightly technically easier, but doesn&#8217;t change the fundamental issues.</p>]]></content:encoded>
	</item>
</channel>
</rss>

