<?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"
	>
<channel>
	<title>Comments on: Reducing comments and increasing documentation</title>
	<atom:link href="http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/</link>
	<description>my god, it's full of stars</description>
	<pubDate>Sun, 20 Jul 2008 13:04:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Alex Curylo</title>
		<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-100722</link>
		<dc:creator>Alex Curylo</dc:creator>
		<pubDate>Tue, 22 Apr 2008 23:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-100722</guid>
		<description>&lt;p&gt;"without looking at it for 4 or 5 months is just painful."&lt;/p&gt;

&lt;p&gt;Heh. "Months?" Friend, when the OS X transition hit, I had porting projects show up with code I hadn't seen since I shipped off to the contractors over a DECADE ago. Indeed, one of my current projects right now is to get over to Cocoa a project that has files I haven't looked at since they were first written in 1998, just shy of that.&lt;/p&gt;

&lt;p&gt;The way I put it is,&lt;/p&gt;

&lt;p&gt;1) Your first ... mmmm ... 18 months in the industry you code as cleverly as possible.
2) Then you realize no one cares how clever your code is, including you a couple weeks at most after writing it. So you switch to coding how you figure will actually impress your coworkers/superiors/clients, namely to execute as efficiently as possible.
3) After some time you realize that coding with execution efficiency in mind is a mug's game since you can rarely guess where the actual time-worthy chokepoints to care about efficiency are.&lt;/p&gt;

&lt;p&gt;This is when you attain true enlightenment, and you realize that The Best Code is actually code which is &lt;em&gt;maintainable&lt;/em&gt;. That means someone else can take over working on it easily to free you to do more interesting things, plus you can use it yourself easily months/years/decades later. Certainly, I have received many -many- more heartfelt kudos and good recommendations through the years along lines like "Wow!! This is absolutely the EASIEST code to port i have EVER seen!!!" then I ever have for programming I've done with any other aim than 'maintainable' in mind.&lt;/p&gt;

&lt;p&gt;I think there is no next step, and you just refine that epiphany. "Complete unit test coverage" is the next step on my personal path I believe. Well, after "finding a javadoc type system for automatically parsed documentation that honestly isn't far more trouble than its benefits."&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;without looking at it for 4 or 5 months is just painful.&#8221;</p>
<p>Heh. &#8220;Months?&#8221; Friend, when the OS X transition hit, I had porting projects show up with code I hadn&#8217;t seen since I shipped off to the contractors over a DECADE ago. Indeed, one of my current projects right now is to get over to Cocoa a project that has files I haven&#8217;t looked at since they were first written in 1998, just shy of that.</p>
<p>The way I put it is,</p>
<p>1) Your first &#8230; mmmm &#8230; 18 months in the industry you code as cleverly as possible.<br />
2) Then you realize no one cares how clever your code is, including you a couple weeks at most after writing it. So you switch to coding how you figure will actually impress your coworkers/superiors/clients, namely to execute as efficiently as possible.<br />
3) After some time you realize that coding with execution efficiency in mind is a mug&#8217;s game since you can rarely guess where the actual time-worthy chokepoints to care about efficiency are.</p>
<p>This is when you attain true enlightenment, and you realize that The Best Code is actually code which is <em>maintainable</em>. That means someone else can take over working on it easily to free you to do more interesting things, plus you can use it yourself easily months/years/decades later. Certainly, I have received many -many- more heartfelt kudos and good recommendations through the years along lines like &#8220;Wow!! This is absolutely the EASIEST code to port i have EVER seen!!!&#8221; then I ever have for programming I&#8217;ve done with any other aim than &#8216;maintainable&#8217; in mind.</p>
<p>I think there is no next step, and you just refine that epiphany. &#8220;Complete unit test coverage&#8221; is the next step on my personal path I believe. Well, after &#8220;finding a javadoc type system for automatically parsed documentation that honestly isn&#8217;t far more trouble than its benefits.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Devroe</title>
		<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98596</link>
		<dc:creator>Colin Devroe</dc:creator>
		<pubDate>Mon, 14 Apr 2008 12:51:23 +0000</pubDate>
		<guid isPermaLink="false">http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98596</guid>
		<description>&lt;p&gt;I find my documentation/commenting style continues to change over time.  When my code will be open sourced, I'm much more aware of how I write the comments, typically I just add a simple description with an "accepts" / "returns" type of information.&lt;/p&gt;

&lt;p&gt;I would definitely like to find a definitive style... and also find a way to "strip comments" if needed (like in JavaScript).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I find my documentation/commenting style continues to change over time.  When my code will be open sourced, I&#8217;m much more aware of how I write the comments, typically I just add a simple description with an &#8220;accepts&#8221; / &#8220;returns&#8221; type of information.</p>
<p>I would definitely like to find a definitive style&#8230; and also find a way to &#8220;strip comments&#8221; if needed (like in JavaScript).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luke</title>
		<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98564</link>
		<dc:creator>Luke</dc:creator>
		<pubDate>Mon, 14 Apr 2008 09:17:59 +0000</pubDate>
		<guid isPermaLink="false">http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98564</guid>
		<description>&lt;p&gt;Always the best way! But I learnt the hard way too :( my programming style is constantly changing, so not only am I disgusted at my naivety when looking at an old project, I'm also at a loss most of the time to work out what's going on. Gonna persevere and get this on all my next stuff :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Always the best way! But I learnt the hard way too :( my programming style is constantly changing, so not only am I disgusted at my naivety when looking at an old project, I&#8217;m also at a loss most of the time to work out what&#8217;s going on. Gonna persevere and get this on all my next stuff :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chris rhee</title>
		<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98067</link>
		<dc:creator>chris rhee</dc:creator>
		<pubDate>Sat, 12 Apr 2008 15:46:40 +0000</pubDate>
		<guid isPermaLink="false">http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-98067</guid>
		<description>&lt;p&gt;Good call. It would especially be useful if there's a possibility of handing the code over to someone else in the future.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Good call. It would especially be useful if there&#8217;s a possibility of handing the code over to someone else in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Beeching</title>
		<link>http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-97976</link>
		<dc:creator>Andy Beeching</dc:creator>
		<pubDate>Sat, 12 Apr 2008 10:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://warpspire.com/tipsresources/programming/reducing-comments-and-increasing-documentation/#comment-97976</guid>
		<description>&lt;p&gt;I quite like this mantra for documentation:&lt;/p&gt;

&lt;p&gt;"Comments should contain the word "because". This way, you know that you are answering a why rather than a what."&lt;/p&gt;

&lt;p&gt;I think it was from this post by Steve Yegge:&lt;/p&gt;

&lt;p&gt;http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html&lt;/p&gt;

&lt;p&gt;Anyway, since I write mainly JavaScript atm, I'm using jsDoc to document projects, and try and include a high-level outline of each object at the top of the file explaining it's purpose. Params and other dependencies are then 'marked-up' with the jsdoc syntax.&lt;/p&gt;

&lt;p&gt;Inline comments can then still be added if there's any finicky bit of code.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I quite like this mantra for documentation:</p>
<p>&#8220;Comments should contain the word &#8220;because&#8221;. This way, you know that you are answering a why rather than a what.&#8221;</p>
<p>I think it was from this post by Steve Yegge:</p>
<p><a href="http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html" rel="nofollow">http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html</a></p>
<p>Anyway, since I write mainly JavaScript atm, I&#8217;m using jsDoc to document projects, and try and include a high-level outline of each object at the top of the file explaining it&#8217;s purpose. Params and other dependencies are then &#8216;marked-up&#8217; with the jsdoc syntax.</p>
<p>Inline comments can then still be added if there&#8217;s any finicky bit of code.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.532 seconds -->
