<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    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:slash="http://purl.org/rss/1.0/modules/slash/"
    >

<channel>
    <title>Webmonkey &#187; README</title>
    <atom:link href="http://www.webmonkey.com/tag/readme/feed/" rel="self" type="application/rss+xml" />
    <link>http://www.webmonkey.com</link>
    <description>The Web Developer&#039;s Resource</description>
    <lastBuildDate>Mon, 06 May 2013 17:29:19 +0000</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.4.2</generator>
    
    <item>
        <title>Write Your README Before Your Code</title>
        <link>http://www.webmonkey.com/2010/08/write-your-readme-before-your-code/</link>
        <comments>http://www.webmonkey.com/2010/08/write-your-readme-before-your-code/#comments</comments>
        <pubDate>Fri, 27 Aug 2010 18:37:15 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=48469</guid>
        		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[README]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2010/08/type_4a.gif" type="image/gif" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2010/08/type_4a.gif" alt="Write Your README Before Your Code" /></div>Every programmer wants to write better software, whether that means writing cleaner, faster code, sticking to best practices or documenting your work for long-term upkeep. But if your code doesn&#8217;t serve the needs of your users then it&#8217;s worthless, no matter how great it may be. So how do you make sure your beautiful code [...]]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><a href="http://www.webmonkey.com/wp-content/uploads/2010/08/type_4a.gif"><img src="http://www.webmonkey.com/wp-content/uploads/2010/08/type_4a.gif" alt="" title="type_4a" width="179" height="148" class="alignright size-full wp-image-48507" /></a>
<p>Every programmer wants to write better software, whether that means writing cleaner, faster code, sticking to best practices or documenting your work for long-term upkeep. But if your code doesn&#8217;t serve the needs of your users then it&#8217;s worthless, no matter how great it may be. So how do you make sure your beautiful code isn&#8217;t just an abstract work of art, but actually serves the end goal of making your users happy?</p>
<p>Tom Preston-Werner, the co-founder of Github, has some advice: <a href="http://tom.preston-werner.com/2010/08/23/readme-driven-development.html">write your README first</a>. </p>
<p>That is, sit down and write out exactly what you want your software to do before you start writing any code. &#8220;Until you&#8217;ve written about your software, you have no idea what you&#8217;ll be coding,&#8221; Preston-Werner says.</p>
<p>Some developers may recall the days of the <a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall model</a>, a design and coding practice that advocated detailing all the minutiae of, well, everything. Today&#8217;s buzzword- systems like Agile Development are in many ways a deliberate attempt to move away from the complexities of the Waterfall Model.</p>
<p>Preston-Werner isn&#8217;t advocating a return to it. He carefully points out that the Waterfall model is overly complex, but &#8220;there must be some middle ground between reams of technical specifications and no specifications at all.&#8221;</p>
<p>That the middle ground is the good old README.TXT file. It&#8217;s typically much shorter than full-blown documentation driven development, but still forces you to go through an abbreviated, but very helpful part of development &#8212; making sure everyone, including you, is clear on what you&#8217;re trying to do.</p>
<p>Treat it like a mission statement: &#8220;[The README] document should stand on its own as a testament to your creativity and expressiveness. The README should be the single most important document in your codebase; writing it first is the proper thing to do,&#8221; writes Preston-Werner.</p>
<p><span id="more-48469"></span></p>
<p>Wondering what constitutes a good README? Preston-Werner points to <a href="http://github.com/github/gollum/blob/master/README.md">Gollum</a> &#8212; a wiki built on top of Git &#8212; as a well-done example.</p>
<p>Not everyone is going to agree. There&#8217;s an interesting <a href="http://news.ycombinator.com/item?id=1627246">discussion about his post on Hacker News</a> with a roughly fifty-fifty split. It&#8217;s a surprisingly civil discussion, free of dogma as well.</p>
<p><strong>See Also:</strong><br/></p>
<ul>
<li><a href="http://www.webmonkey.com/2010/03/a-subversion-users-guide-to-mercurial-version-control/">A Subversion User’s Guide to Mercurial Version Control</a></li>
<li><a href="http://www.webmonkey.com/2010/03/google-raises-your-coding-skills-to-a-higher-degree/">Google Raises Your Coding Skills to a Higher Degree</a></li>
<li><a href="http://www.webmonkey.com/2010/03/code-optimizers-can-make-view-source-useless/">Code Optimizers Can Make View Source Useless</a></li>
</ul>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2010/08/write-your-readme-before-your-code/feed/</wfw:commentRss>
        <slash:comments>1</slash:comments>

        
    </item>
    </channel>
</rss>
