<?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>Ten Tonne Baby &#187; Development</title>
	<atom:link href="http://www.tentonnebaby.com/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tentonnebaby.com</link>
	<description>Discussion on Web Technologies, Design and London</description>
	<lastBuildDate>Thu, 19 Jan 2012 09:33:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Enforcing coding standards when working with legacy code</title>
		<link>http://www.tentonnebaby.com/2010/10/17/enforcing-coding-standards-working-with-legacy-code/</link>
		<comments>http://www.tentonnebaby.com/2010/10/17/enforcing-coding-standards-working-with-legacy-code/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 17:15:52 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[codingstandards]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[stylecop]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/10/17/enforcing-coding-standard-working-with-legacy-code/</guid>
		<description><![CDATA[I’ve been thinking about the best way to start getting a consistent coding style with our team. Mostly I’ve worked on new projects and this is a relatively trivial thing to do by setting up StyleCop with an agreed set of rules, and hooking it up to analyse all source files as part of the [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been thinking about the best way to start getting a consistent coding style with our team. Mostly I’ve worked on new projects and this is a relatively trivial thing to do by setting up <a href="http://stylecop.codeplex.com/">StyleCop</a> with an agreed set of rules, and hooking it up to analyse all source files as part of the Continuous Build. Along with a culture based on sarcasm and peer abuse, this usually works out fine.</p>
<p>However in this instance I’m working with a large legacy codebase. Even with the best intentions people won’t stick to a convention unless it gets enforced, and based on the amount of code that doesn’t comply it isn’t very simple to start enforcing the standard.</p>
<p>The only solution I could really see was to swallow the pain and go and reformat all of the existing code, then start enforcing analysis on the projects that have been updated.</p>
<p>I don’t think this would have even been possible if it hadn’t been for <a href="http://www.jetbrains.com/resharper/">Resharper 5</a> and the <a href="http://stylecopforresharper.codeplex.com/">StyleCop for Resharper</a> plugin. I’ve become massively more productive since using Resharper a few weeks back and in this instance it’s been simply awesome.</p>
<h3></h3>
<h2>Code Cleanup</h2>
<p>Once Resharper has been configured with the StyleCop plugin so all coding style conventions are set up, you can run the code cleanup feature against a file or folder (Ctrl-Shift-Alt-F) which will reformat all existing code based on the configured rules. In my case this will typically reduce a file from around 300 violations to about 8. You can set up a profile to control exactly what does or does not get changed as part of this process.</p>
<h2>Cycle through code issues (F12)</h2>
<p>The next most useful feature is that StyleCop violations are treated as code issues by ReSharper. Hitting F12 repeatedly within a code file will jump to the next issue making it very simple to navigate around all violations and clean them up.</p>
<h2>Violation highlighting within editor</h2>
<p>The plugin will also highlight any style violation as you code, and provide tooltips and messages in the status bar to indicate what the violation was.</p>
<p><a href="http://www.tentonnebaby.com/wp-content/uploads/2010/10/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tentonnebaby.com/wp-content/uploads/2010/10/image_thumb.png" width="562" height="257" /></a> </p>
</p>
<p>It will still take a while to finish updating the existing codebase, but I’m not even sure it would be feasible to attempt this without these tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/10/17/enforcing-coding-standards-working-with-legacy-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aftermath of DDD8</title>
		<link>http://www.tentonnebaby.com/2010/02/01/aftermath-of-ddd8/</link>
		<comments>http://www.tentonnebaby.com/2010/02/01/aftermath-of-ddd8/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 09:47:56 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/01/aftermath-of-ddd8/</guid>
		<description><![CDATA[I went along to DDD8 at the weekend, a free community event hosted at Microsoft in Reading. It was the first time I’d attended the event, and would really recommend it (if you manage to sign up in the first 12 minutes after registration opens). I think the highlights for me were Hello Document Databases [...]]]></description>
			<content:encoded><![CDATA[<p>I went along to <a href="http://www.developerdeveloperdeveloper.com/ddd8/">DDD8</a> at the weekend, a free community event hosted at Microsoft in Reading. It was the first time I’d attended the event, and would really recommend it (if you manage to sign up in the first 12 minutes after registration opens). I think the highlights for me were <a href="http://www.developerdeveloperdeveloper.com/ddd8/ViewSession.aspx?SessionID=378">Hello Document Databases</a> by Neil Robbins, and <a href="http://www.developerdeveloperdeveloper.com/ddd8/ViewSession.aspx?SessionID=400">C#4</a> by Jon Skeet. </p>
<p>I had heard a little about document databases being an alternative to relational databases (a slightly alien idea) but hadn’t got around to much research. In particular the session was looking at how to use <a href="http://couchdb.apache.org/">CouchDB</a>. The design goals are more based around assuming that individual nodes will fail, and having a lightweight, multiple-master setup with changes replicating across nodes.</p>
<p>From <a href="http://couchdb.apache.org/docs/intro.html">the introduction</a> (which I recommend you read)… A CouchDB document is an object that consists of named fields. Field values may be strings, numbers, dates, or even ordered lists and associative maps. A CouchDB database is a flat collection of these documents. Each document is identified by a unique ID.</p>
<p>Unfortunately the session didn’t really cover how to apply this concept to a real-world scenario and how to perform useful queries against the data. However it was definately enough to encourage some reading around the subject – I think it’s important to understand the kind of problems where this could be a viable and better solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/01/aftermath-of-ddd8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

