<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/1.5.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Paper Cuts</title>
	<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/</link>
	<description>Lidor Wyssocky's Blog on Optimizing Software Development</description>
	<pubDate>Thu, 28 Aug 2008 12:18:01 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.2</generator>

	<item>
 		<title>Comment on Paper Cuts by: Praveen</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1102</link>
		<pubDate>Fri, 28 Jul 2006 13:53:44 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1102</guid>
					<description>If you are like me who prefers keyboard over mouse,  source review using ctags on Vim/Emacs (with Syntax coloring, even on Windows) is the best.
One can easily follow the C/C++ code - jumping back and forth to definitions, header files, macros, etc.</description>
		<content:encoded><![CDATA[	<p>If you are like me who prefers keyboard over mouse,  source review using ctags on Vim/Emacs (with Syntax coloring, even on Windows) is the best.<br />
One can easily follow the C/C++ code - jumping back and forth to definitions, header files, macros, etc.
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Jonas</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1080</link>
		<pubDate>Tue, 25 Jul 2006 10:45:31 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1080</guid>
					<description>Interesting points, but I'd like to disagree a little bit. I've done my share of reading other people's code and I often find it to be very helpful to print the code. I generally use colored pens and some extra sheets of paper to follow the code flow.

I do agree, however, that it gets harder and harder as modern software relies more on very heavy object oriented standard libraries. But the color pens and free form scribbling on paper is still very important to me, although I use code inspection tools as a complement.</description>
		<content:encoded><![CDATA[	<p>Interesting points, but I&#8217;d like to disagree a little bit. I&#8217;ve done my share of reading other people&#8217;s code and I often find it to be very helpful to print the code. I generally use colored pens and some extra sheets of paper to follow the code flow.</p>
	<p>I do agree, however, that it gets harder and harder as modern software relies more on very heavy object oriented standard libraries. But the color pens and free form scribbling on paper is still very important to me, although I use code inspection tools as a complement.
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Lidor Wyssocky</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1038</link>
		<pubDate>Fri, 21 Jul 2006 09:52:45 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1038</guid>
					<description>Hi Jane,

Thanks for the feedback and for sharing your thoughts and experience.

I think the most important parts of your comments refers to having a discussion about why a certain piece of code was written in a certain way. When I conduct code and design reviews I have two goals. The first is improving the product under review. The second is enriching the experience of the developers who wrote the code using their own code as the learning material. An open discussion about the code is clearly the way to do this.

I think your approach is great. Keep doing what you're doing. You're clearly on the right track, and your team is very lucky to have you as their lead.

Lidor</description>
		<content:encoded><![CDATA[	<p>Hi Jane,</p>
	<p>Thanks for the feedback and for sharing your thoughts and experience.</p>
	<p>I think the most important parts of your comments refers to having a discussion about why a certain piece of code was written in a certain way. When I conduct code and design reviews I have two goals. The first is improving the product under review. The second is enriching the experience of the developers who wrote the code using their own code as the learning material. An open discussion about the code is clearly the way to do this.</p>
	<p>I think your approach is great. Keep doing what you&#8217;re doing. You&#8217;re clearly on the right track, and your team is very lucky to have you as their lead.</p>
	<p>Lidor
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Jane</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1035</link>
		<pubDate>Thu, 20 Jul 2006 21:26:28 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-1035</guid>
					<description>I do code reviews on my team's code about once per deliverable.  Sometimes I'll review all the code, sometimes I'll choose a subset of the code.  I always work off paper - partially because it means I can take the code away and find a quiet place and work without distractions.  Once per deliverable isn't often enough to prevent re-work, but is something I can commit to.  Ideally it would be more often, perhaps weekly as suggested above, but certainly a couple of times per month.  I'm going to go away and think about how I can fit more code reviews in to our delivery cycles.

I currently review SQL stored procedures/functions as well as .Net/VB code.  I usually review SQL against our coding standards as well as what I deem to be good practice.  

For a .Net code review, I usually require that the code has been &lt;a href=&quot;http://www.gotdotnet.com/team/fxcop/&quot; rel=&quot;nofollow&quot;&gt;FXCop&lt;/a&gt;'d - this cuts down on the search for un-used variables, as well as a certain amount of sloppiness and bad practices, leaving me to concentrate on overall design.  I agree that this would be better served in the IDE rather than on paper.  

The best code reviews are when we have a discussion about why a piece of code has been written in a certain way.

Great to read other people's perspectives, thanks for sharing.</description>
		<content:encoded><![CDATA[	<p>I do code reviews on my team&#8217;s code about once per deliverable.  Sometimes I&#8217;ll review all the code, sometimes I&#8217;ll choose a subset of the code.  I always work off paper - partially because it means I can take the code away and find a quiet place and work without distractions.  Once per deliverable isn&#8217;t often enough to prevent re-work, but is something I can commit to.  Ideally it would be more often, perhaps weekly as suggested above, but certainly a couple of times per month.  I&#8217;m going to go away and think about how I can fit more code reviews in to our delivery cycles.</p>
	<p>I currently review SQL stored procedures/functions as well as .Net/VB code.  I usually review SQL against our coding standards as well as what I deem to be good practice.  </p>
	<p>For a .Net code review, I usually require that the code has been <a href="http://www.gotdotnet.com/team/fxcop/" rel="nofollow">FXCop</a>&#8216;d - this cuts down on the search for un-used variables, as well as a certain amount of sloppiness and bad practices, leaving me to concentrate on overall design.  I agree that this would be better served in the IDE rather than on paper.  </p>
	<p>The best code reviews are when we have a discussion about why a piece of code has been written in a certain way.</p>
	<p>Great to read other people&#8217;s perspectives, thanks for sharing.
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Lidor Wyssocky</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-950</link>
		<pubDate>Fri, 14 Jul 2006 05:39:03 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-950</guid>
					<description>Hi engtech,

You're completely right. The sooner a review happen the better. 

I found weekly code reviews to be the most effective. A week is relatively small interval which allows the code to still be fresh in the developer's mind. At the same time the code written in a single week is quite manageable from the reviewer's perspective. A shorter interval might also be good but there is a chance that this will break the development flow.

You're also right about osmosis. I treat code and design reviews as a mentoring platform: a platform through which knowledge and experience is spread among developers.

I invite you to read about my approach at:
http://lucidquality.qualityaspect.com/Overview/

Thanks for the feedback,
Lidor</description>
		<content:encoded><![CDATA[	<p>Hi engtech,</p>
	<p>You&#8217;re completely right. The sooner a review happen the better. </p>
	<p>I found weekly code reviews to be the most effective. A week is relatively small interval which allows the code to still be fresh in the developer&#8217;s mind. At the same time the code written in a single week is quite manageable from the reviewer&#8217;s perspective. A shorter interval might also be good but there is a chance that this will break the development flow.</p>
	<p>You&#8217;re also right about osmosis. I treat code and design reviews as a mentoring platform: a platform through which knowledge and experience is spread among developers.</p>
	<p>I invite you to read about my approach at:<br />
<a href='http://lucidquality.qualityaspect.com/Overview/' rel='nofollow'>http://lucidquality.qualityaspect.com/Overview/</a></p>
	<p>Thanks for the feedback,<br />
Lidor
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: engtech</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-947</link>
		<pubDate>Fri, 14 Jul 2006 01:38:18 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-947</guid>
					<description>I fully agree on the importance of code reviews. What I find particularly bad about reviews is that they usually happen so far down the cycle. It's much more effective to do it when the code is at least fresh in someone's mind.

One of the best experiences I ever had as a co-op student was spending weeks sitting in code reviews for with some very experienced coders. Osmosis is a great thing.

Much like how Microsoft Word has a mechanism for comments and change tracking from multiple users, it might be nice to have something similiar with an IDE.

Although, with good source control in place, it could be as simple as each person taking turns going over the code and adding comments with some metatags and then checking it in so the next person in the chain could review it, then having a round table at the end of it all.</description>
		<content:encoded><![CDATA[	<p>I fully agree on the importance of code reviews. What I find particularly bad about reviews is that they usually happen so far down the cycle. It&#8217;s much more effective to do it when the code is at least fresh in someone&#8217;s mind.</p>
	<p>One of the best experiences I ever had as a co-op student was spending weeks sitting in code reviews for with some very experienced coders. Osmosis is a great thing.</p>
	<p>Much like how Microsoft Word has a mechanism for comments and change tracking from multiple users, it might be nice to have something similiar with an IDE.</p>
	<p>Although, with good source control in place, it could be as simple as each person taking turns going over the code and adding comments with some metatags and then checking it in so the next person in the chain could review it, then having a round table at the end of it all.
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Lidor Wyssocky</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-906</link>
		<pubDate>Tue, 11 Jul 2006 17:05:55 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-906</guid>
					<description>Hi Retrospector,

Basically, you are right. C-style code is more linear in nature than modern object oriented code. However a reviewer can benefit from using an IDE or another code reading tool when reviewing C-style code as well.

With an advanced tool you can easily spot dead code, for example. You can also easily locate variables declaration and usage. And of course you can always use bookmarks to navigate between important lines of code.

All these capabilities are impossible to achieve when reading the code from paper. The fact that code is linear does not necessarily suggest that reading it should be linear too. Especially not for reviewing purposes.

Lidor</description>
		<content:encoded><![CDATA[	<p>Hi Retrospector,</p>
	<p>Basically, you are right. C-style code is more linear in nature than modern object oriented code. However a reviewer can benefit from using an IDE or another code reading tool when reviewing C-style code as well.</p>
	<p>With an advanced tool you can easily spot dead code, for example. You can also easily locate variables declaration and usage. And of course you can always use bookmarks to navigate between important lines of code.</p>
	<p>All these capabilities are impossible to achieve when reading the code from paper. The fact that code is linear does not necessarily suggest that reading it should be linear too. Especially not for reviewing purposes.</p>
	<p>Lidor
</p>
]]></content:encoded>
				</item>
	<item>
 		<title>Comment on Paper Cuts by: Retrospector</title>
		<link>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-903</link>
		<pubDate>Tue, 11 Jul 2006 12:42:58 +0000</pubDate>
		<guid>http://blog.qualityaspect.com/2006/07/08/paper-cuts/#comment-903</guid>
					<description>I've actually found printing out code to be very helpful in deciphering old functional/procedural code snippets when having to understand the business rules built into them.  They more often than not end up fairly linear in nature within the class/method anyway.

With the more object oriented code these days and all the programs in the web environment, I can completely agree with the notion of sticking to an IDE like eclipse that will allow you to follow workflow by clicking through the methods instead of working line for line.</description>
		<content:encoded><![CDATA[	<p>I&#8217;ve actually found printing out code to be very helpful in deciphering old functional/procedural code snippets when having to understand the business rules built into them.  They more often than not end up fairly linear in nature within the class/method anyway.</p>
	<p>With the more object oriented code these days and all the programs in the web environment, I can completely agree with the notion of sticking to an IDE like eclipse that will allow you to follow workflow by clicking through the methods instead of working line for line.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
