<?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/"
		>
<channel>
	<title>Comments on: Convention over Configuration</title>
	<atom:link href="http://elegantcode.com/2009/11/28/convention-over-configuration/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com/2009/11/28/convention-over-configuration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=convention-over-configuration</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 18:54:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	<item>
		<title>By: Mark Nijhof</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-51191</link>
		<dc:creator>Mark Nijhof</dc:creator>
		<pubDate>Tue, 08 Dec 2009 22:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-51191</guid>
		<description>&lt;a href=&quot;#comment-51101&quot; rel=&quot;nofollow&quot;&gt;@Think Before Coding&lt;/a&gt; 
It might be some of my compulsive behavior (seriously I need certain stuff to be true) but my code will be very conventional anyway. So I am using it to make my life easier. 

Also the reliance on tests would be there anyway, but instead of having one test for each different use-case I can write one tests that will verify all use-cases. Also my tests are somewhat smart in that they will get all exceptions and tell me exactly what is wrong. So easy fix. And I have also certain stuff just in the code that throws is a conventions is not met.

So yes I try to push it, and so far it hasn&#039;t given me any pain at all :)</description>
		<content:encoded><![CDATA[<p><a href="#comment-51101" rel="nofollow">@Think Before Coding</a><br />
It might be some of my compulsive behavior (seriously I need certain stuff to be true) but my code will be very conventional anyway. So I am using it to make my life easier. </p>
<p>Also the reliance on tests would be there anyway, but instead of having one test for each different use-case I can write one tests that will verify all use-cases. Also my tests are somewhat smart in that they will get all exceptions and tell me exactly what is wrong. So easy fix. And I have also certain stuff just in the code that throws is a conventions is not met.</p>
<p>So yes I try to push it, and so far it hasn&#8217;t given me any pain at all <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Think Before Coding</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-51101</link>
		<dc:creator>Think Before Coding</dc:creator>
		<pubDate>Mon, 07 Dec 2009 09:33:59 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-51101</guid>
		<description>I really like the idea of Convention over Configuration, but I also have reluctance on its use everywhere.
Convention seems ok when you replace a configuration in one place by a convention in another place.
But it seems to lead to brittle code when convention is used to link two parts together, because only convention specifies that when one side change, the other side should change too.
As long as you cannot configure your refactoring tool (R# or any other) to check these conventional links and enforce it, you&#039;ll break your code any time you make a typo, change a name etc.

Of course you can rely on your unit tests, but I don&#039;t see the benefit of convention if you must add unit tests only to check that conventions won&#039;t break...</description>
		<content:encoded><![CDATA[<p>I really like the idea of Convention over Configuration, but I also have reluctance on its use everywhere.<br />
Convention seems ok when you replace a configuration in one place by a convention in another place.<br />
But it seems to lead to brittle code when convention is used to link two parts together, because only convention specifies that when one side change, the other side should change too.<br />
As long as you cannot configure your refactoring tool (R# or any other) to check these conventional links and enforce it, you&#8217;ll break your code any time you make a typo, change a name etc.</p>
<p>Of course you can rely on your unit tests, but I don&#8217;t see the benefit of convention if you must add unit tests only to check that conventions won&#8217;t break&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nijhof</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-50798</link>
		<dc:creator>Mark Nijhof</dc:creator>
		<pubDate>Mon, 30 Nov 2009 16:21:10 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-50798</guid>
		<description>&lt;a href=&quot;#comment-50797&quot; rel=&quot;nofollow&quot;&gt;@Mark Rogers&lt;/a&gt; 
Thanks, I need nitpickers especially to get my spelling mistakes. Fixed!</description>
		<content:encoded><![CDATA[<p><a href="#comment-50797" rel="nofollow">@Mark Rogers</a><br />
Thanks, I need nitpickers especially to get my spelling mistakes. Fixed!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Rogers</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-50797</link>
		<dc:creator>Mark Rogers</dc:creator>
		<pubDate>Mon, 30 Nov 2009 15:42:04 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-50797</guid>
		<description>Nice article dude, hate to nitpick but in the line:

&quot;This is not necessarily a bad thing infect this means that any Ruby on Rails developer can jump to any other Ruby on Rails project and start working on it (sort of).&quot;

&#039;infect&#039; should probably be &quot;, in fact, &quot;

Keep up the great work!</description>
		<content:encoded><![CDATA[<p>Nice article dude, hate to nitpick but in the line:</p>
<p>&#8220;This is not necessarily a bad thing infect this means that any Ruby on Rails developer can jump to any other Ruby on Rails project and start working on it (sort of).&#8221;</p>
<p>&#8216;infect&#8217; should probably be &#8220;, in fact, &#8221;</p>
<p>Keep up the great work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Py</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-50775</link>
		<dc:creator>Steve Py</dc:creator>
		<pubDate>Sun, 29 Nov 2009 23:44:17 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-50775</guid>
		<description>@ Mihai
I think that example might be backwards. Turning a knob to me would reflect the pattern. Other patterns might be knock out the pins, or use the fireman&#039;s axe. :D (a.k.a the &quot;Heeere&#039;s Jhonny!&quot; anti-pattern.)

Conventions would be the implicit application of patterns. The whole convention over configuration argument was specifically raised to adopt a convention to avoid unnecessary variability. &quot;Unnecessary&quot; might not be the best word for it, but reflects that convention aids readability by it&#039;s consistent nature where configuration can vary at any time in a multitude of ways. Convention has been around forever, but now the lines are blurring with the concept of &quot;pattern&quot;. Hungarian was a convention for naming variables to reveal their type. The difference with something like MVC or Rails is that the convention was not enforced or acted upon by the platform.</description>
		<content:encoded><![CDATA[<p>@ Mihai<br />
I think that example might be backwards. Turning a knob to me would reflect the pattern. Other patterns might be knock out the pins, or use the fireman&#8217;s axe. <img src='http://elegantcode.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  (a.k.a the &#8220;Heeere&#8217;s Jhonny!&#8221; anti-pattern.)</p>
<p>Conventions would be the implicit application of patterns. The whole convention over configuration argument was specifically raised to adopt a convention to avoid unnecessary variability. &#8220;Unnecessary&#8221; might not be the best word for it, but reflects that convention aids readability by it&#8217;s consistent nature where configuration can vary at any time in a multitude of ways. Convention has been around forever, but now the lines are blurring with the concept of &#8220;pattern&#8221;. Hungarian was a convention for naming variables to reveal their type. The difference with something like MVC or Rails is that the convention was not enforced or acted upon by the platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nijhof</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-50765</link>
		<dc:creator>Mark Nijhof</dc:creator>
		<pubDate>Sun, 29 Nov 2009 16:30:43 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-50765</guid>
		<description>&lt;a href=&quot;#comment-50761&quot; rel=&quot;nofollow&quot;&gt;@Mihai&lt;/a&gt; 
Interesting take on it, I would say that a convention is that you apply the same pattern to each case. You can use patterns without introducing a real convention. Perhaps I would say a pattern is the result applying the convention?

Thanks for your feedback will think some more about it.</description>
		<content:encoded><![CDATA[<p><a href="#comment-50761" rel="nofollow">@Mihai</a><br />
Interesting take on it, I would say that a convention is that you apply the same pattern to each case. You can use patterns without introducing a real convention. Perhaps I would say a pattern is the result applying the convention?</p>
<p>Thanks for your feedback will think some more about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mihai</title>
		<link>http://elegantcode.com/2009/11/28/convention-over-configuration/comment-page-1/#comment-50761</link>
		<dc:creator>Mihai</dc:creator>
		<pubDate>Sun, 29 Nov 2009 12:40:12 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/11/28/convention-over-configuration/#comment-50761</guid>
		<description>What you are talking about are not conventions, they are patterns.

Any developer will be able to understand another developer&#039;s work as long as he can figure out the patterns the code follows.

I&#039;m sure you can view those patterns as the conventions the developer expressed, but I&#039;m not sure it&#039;s the best way to express it.

In my opinion a convention is the way the framework was tailored so that it fulfils a certain operation like matching the url to an action on a controller. This generates a pattern in which the user of the framework constructs inside the controllers directory a new class with a certain name and defines a certain action inside that class. 

Opening the door or turning on the water are just patterns you know, the convention would be expressed like turning the door knob for opening the door, or rotating the valve to the left to get the water.

There is a subtle difference between the two that I didn&#039;t saw expressed in your article. Anyway it depends on the way you taught yourself to think of this things.</description>
		<content:encoded><![CDATA[<p>What you are talking about are not conventions, they are patterns.</p>
<p>Any developer will be able to understand another developer&#8217;s work as long as he can figure out the patterns the code follows.</p>
<p>I&#8217;m sure you can view those patterns as the conventions the developer expressed, but I&#8217;m not sure it&#8217;s the best way to express it.</p>
<p>In my opinion a convention is the way the framework was tailored so that it fulfils a certain operation like matching the url to an action on a controller. This generates a pattern in which the user of the framework constructs inside the controllers directory a new class with a certain name and defines a certain action inside that class. </p>
<p>Opening the door or turning on the water are just patterns you know, the convention would be expressed like turning the door knob for opening the door, or rotating the valve to the left to get the water.</p>
<p>There is a subtle difference between the two that I didn&#8217;t saw expressed in your article. Anyway it depends on the way you taught yourself to think of this things.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

