<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Development best practices: coding standards and the &#8220;20 lines&#8221; rule</title>
	<atom:link href="http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/feed/" rel="self" type="application/rss+xml" />
	<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/</link>
	<description>Software Development Bits'n'Bobs</description>
	<lastBuildDate>Wed, 01 Jul 2009 07:25:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gestire le API&#8230; &#171; JP&#8217;s Web Place</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7692</link>
		<dc:creator>Gestire le API&#8230; &#171; JP&#8217;s Web Place</dc:creator>
		<pubDate>Wed, 01 Jul 2009 07:25:07 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7692</guid>
		<description>[...] niente API tuttofare, niente funzioni/metodi mastodontici (cfr. questo bel post); [...]</description>
		<content:encoded><![CDATA[<p>[...] niente API tuttofare, niente funzioni/metodi mastodontici (cfr. questo bel post); [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Cernansky</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7667</link>
		<dc:creator>Bill Cernansky</dc:creator>
		<pubDate>Wed, 23 Jul 2008 00:56:35 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7667</guid>
		<description>Arguing that 20 lines is better because it fits nicely in a window is a bit of antiquated thinking (in my view), born in the VT100 days. When I went to college in 1982, the rule in my Pascal classes was that a routine was disallowed from being larger than 24 characters. I found out later that this was because the graders could view the whole function on a single screen, so this fits your reasoning. However, when I am editing code, my coding window has at least 50 lines, if not more. This has been true since I got my first Amiga in 1986.

I do strive for simplicity and brevity in my functions, but I seem violate my own guideline at least once per major project, when the &quot;fix&quot; would be more work to maintain than the original code.</description>
		<content:encoded><![CDATA[<p>Arguing that 20 lines is better because it fits nicely in a window is a bit of antiquated thinking (in my view), born in the VT100 days. When I went to college in 1982, the rule in my Pascal classes was that a routine was disallowed from being larger than 24 characters. I found out later that this was because the graders could view the whole function on a single screen, so this fits your reasoning. However, when I am editing code, my coding window has at least 50 lines, if not more. This has been true since I got my first Amiga in 1986.</p>
<p>I do strive for simplicity and brevity in my functions, but I seem violate my own guideline at least once per major project, when the &#8220;fix&#8221; would be more work to maintain than the original code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Ansaldi</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7056</link>
		<dc:creator>Olivier Ansaldi</dc:creator>
		<pubDate>Mon, 26 Nov 2007 12:39:27 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7056</guid>
		<description>Dave,
nice video but I can&#039;t imagine working in such a poor UI: 1:40 to get to the code? No thank you!
Separating the comments from the code seems rather clumsy: how do you know which comment corresponds to which line of code? In the video, the system highlights the comment for the current line of code. Would I have to move the cursor to everything line to figure out the related comment?</description>
		<content:encoded><![CDATA[<p>Dave,<br />
nice video but I can&#8217;t imagine working in such a poor UI: 1:40 to get to the code? No thank you!<br />
Separating the comments from the code seems rather clumsy: how do you know which comment corresponds to which line of code? In the video, the system highlights the comment for the current line of code. Would I have to move the cursor to everything line to figure out the related comment?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Jarvis</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7017</link>
		<dc:creator>Dave Jarvis</dc:creator>
		<pubDate>Sat, 24 Nov 2007 09:33:45 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-7017</guid>
		<description>Eventually code and comments will be split into two panes. Source code in one and corresponding comment on the other. Managers will love it because the logic can be wholly expressed in a human-readable language.

http://www.youtube.com/watch?v=u3QqjhzhnAw

Flip it ahead to 1:40 to see an example.</description>
		<content:encoded><![CDATA[<p>Eventually code and comments will be split into two panes. Source code in one and corresponding comment on the other. Managers will love it because the logic can be wholly expressed in a human-readable language.</p>
<p><a href="http://www.youtube.com/watch?v=u3QqjhzhnAw" rel="nofollow">http://www.youtube.com/watch?v=u3QqjhzhnAw</a></p>
<p>Flip it ahead to 1:40 to see an example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Importance Of Coding Standards &#124; iface thoughts</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-6323</link>
		<dc:creator>Importance Of Coding Standards &#124; iface thoughts</dc:creator>
		<pubDate>Tue, 23 Oct 2007 14:28:20 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-6323</guid>
		<description>[...] Development best practices: coding standards and the &#8220;20 lines&#8221; rule [...]</description>
		<content:encoded><![CDATA[<p>[...] Development best practices: coding standards and the &#8220;20 lines&#8221; rule [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-3501</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Tue, 05 Jun 2007 12:44:58 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-3501</guid>
		<description>Hi Oliver,

One year later! You seem to have misinterpreted my post in a number of ways.

First, splitting into sub-functions can be pointless because the splitting may be arbitrary and/or confusing, not because of performance losses.

Second, my list of examples was just to show there were a number of cases, one might even say whole domains (as you&#039;ve later recognized) where 20 lines is a poor rule.

Finally, I didn&#039;t think I was showing too much attitude or being derogatory. I attacked the idea, not you. The only &#039;attack&#039; on you was my opinion that you were generalizing from one (small?) domain of programming, and you didn&#039;t seem to recognize/admit that.

I&#039;m all for polite discourse, and I&#039;m glad the 20 line &#039;rule&#039; worked for you. I think it&#039;s too arbitrary, language and domain dependent, and a very poor substitute for code reviews. Short functions should be a result of following other design guidelines (one purpose, few/no side effects, easy testability) rather than a goal in and of themselves.

And as can be read in Code Complete,  the few studies that have been done suggest that functions between 50-200 lines were best, which is quite a ways from 20. The studies are fairly old, but should be food for thought nevertheless.</description>
		<content:encoded><![CDATA[<p>Hi Oliver,</p>
<p>One year later! You seem to have misinterpreted my post in a number of ways.</p>
<p>First, splitting into sub-functions can be pointless because the splitting may be arbitrary and/or confusing, not because of performance losses.</p>
<p>Second, my list of examples was just to show there were a number of cases, one might even say whole domains (as you&#8217;ve later recognized) where 20 lines is a poor rule.</p>
<p>Finally, I didn&#8217;t think I was showing too much attitude or being derogatory. I attacked the idea, not you. The only &#8216;attack&#8217; on you was my opinion that you were generalizing from one (small?) domain of programming, and you didn&#8217;t seem to recognize/admit that.</p>
<p>I&#8217;m all for polite discourse, and I&#8217;m glad the 20 line &#8216;rule&#8217; worked for you. I think it&#8217;s too arbitrary, language and domain dependent, and a very poor substitute for code reviews. Short functions should be a result of following other design guidelines (one purpose, few/no side effects, easy testability) rather than a goal in and of themselves.</p>
<p>And as can be read in Code Complete,  the few studies that have been done suggest that functions between 50-200 lines were best, which is quite a ways from 20. The studies are fairly old, but should be food for thought nevertheless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Ansaldi</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-2587</link>
		<dc:creator>Olivier Ansaldi</dc:creator>
		<pubDate>Fri, 13 Apr 2007 09:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-2587</guid>
		<description>Great to see anonymous posters being so courageous about their opinion.

Your comment is frankly stupid: 20 functions that call 20 functions that call 20 functions is simply 60 functions to tests with a couple of mock objects. Compare that with the number of execution paths in your humongous method solution!

Next time try to think before you comment.</description>
		<content:encoded><![CDATA[<p>Great to see anonymous posters being so courageous about their opinion.</p>
<p>Your comment is frankly stupid: 20 functions that call 20 functions that call 20 functions is simply 60 functions to tests with a couple of mock objects. Compare that with the number of execution paths in your humongous method solution!</p>
<p>Next time try to think before you comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Losers</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-2558</link>
		<dc:creator>Losers</dc:creator>
		<pubDate>Wed, 11 Apr 2007 22:18:25 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-2558</guid>
		<description>&quot;The most dramatic effect is the reduction of the cyclomatic complexity of the code. Here comes the esoteric concept! Crudely, the cyclomatic complexity of a piece of code is a measure of the number of possible execution paths through it. Less execution paths means less execution paths to test. Bingo!&quot;

There&#039;s a reason why we call you morons code monkeys.  The avg programmers who create broken ass buggy software.  Suppose I havea function that calls 20 functions and those functions call 20 functions and those functions call 20 functions.  Add that up and tell me how many test cases that is retard.</description>
		<content:encoded><![CDATA[<p>&#8220;The most dramatic effect is the reduction of the cyclomatic complexity of the code. Here comes the esoteric concept! Crudely, the cyclomatic complexity of a piece of code is a measure of the number of possible execution paths through it. Less execution paths means less execution paths to test. Bingo!&#8221;</p>
<p>There&#8217;s a reason why we call you morons code monkeys.  The avg programmers who create broken ass buggy software.  Suppose I havea function that calls 20 functions and those functions call 20 functions and those functions call 20 functions.  Add that up and tell me how many test cases that is retard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Ansaldi</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-474</link>
		<dc:creator>Olivier Ansaldi</dc:creator>
		<pubDate>Tue, 20 Jun 2006 11:57:42 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-474</guid>
		<description>Very good link indeed! Thanks Prashanth.</description>
		<content:encoded><![CDATA[<p>Very good link indeed! Thanks Prashanth.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Prashanth</title>
		<link>http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-473</link>
		<dc:creator>Prashanth</dc:creator>
		<pubDate>Tue, 20 Jun 2006 11:49:40 +0000</pubDate>
		<guid isPermaLink="false">http://ozone.wordpress.com/2006/03/08/development-best-practices-coding-standards-and-the-20-lines-rule/#comment-473</guid>
		<description>I found another link with some good hinters. It reminded me of this post. http://www.perforce.com/perforce/papers/prettycode.html</description>
		<content:encoded><![CDATA[<p>I found another link with some good hinters. It reminded me of this post. <a href="http://www.perforce.com/perforce/papers/prettycode.html" rel="nofollow">http://www.perforce.com/perforce/papers/prettycode.html</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
