<?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: Should We Change the Way We Name Interfaces in .NET?</title>
	<atom:link href="http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/</link>
	<description>A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball</description>
	<lastBuildDate>Wed, 01 Feb 2012 19:33:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<item>
		<title>By: D!sruptive The0ry &#187; Dropping The &#8220;I&#8221; From Interfaces</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-6335</link>
		<dc:creator>D!sruptive The0ry &#187; Dropping The &#8220;I&#8221; From Interfaces</dc:creator>
		<pubDate>Thu, 28 Apr 2011 09:41:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-6335</guid>
		<description>[...] is not really disruptive. It’s not even a new idea. This has been blogged about before. But one thing that I think seems to get missed is the fact that that [...]</description>
		<content:encoded><![CDATA[<p>[...] is not really disruptive. It’s not even a new idea. This has been blogged about before. But one thing that I think seems to get missed is the fact that that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vasily</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-5959</link>
		<dc:creator>Vasily</dc:creator>
		<pubDate>Sun, 07 Nov 2010 16:31:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-5959</guid>
		<description>Absolutely agree with Dan. I started hate &#039;I&#039; prefix as I read GOOS book (it&#039;s excellent). Interfaces should have clear names, a class&#039;s name should reflect what this concrete class is different from other implementations. I&#039;ve used this convention for some months and absolutely happy with it.</description>
		<content:encoded><![CDATA[<p>Absolutely agree with Dan. I started hate &#8216;I&#8217; prefix as I read GOOS book (it&#8217;s excellent). Interfaces should have clear names, a class&#8217;s name should reflect what this concrete class is different from other implementations. I&#8217;ve used this convention for some months and absolutely happy with it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-5900</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Tue, 12 Oct 2010 19:19:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-5900</guid>
		<description>Also, using

public class ListImpl extends List

is no better than

public class List : IList

And for the exact same reason.

Always have your class name give a meaningful description of how the class implements the interface.  Sometimes the implementation affects scalability like in the list example.  Sometimes the implementation requires resources like Internet access.  Sometimes the implementation supports high availability or multi-user access or synchronization, etc.  There&#039;s always a meaningful adjective to modify a class that implements one or more interfaces.</description>
		<content:encoded><![CDATA[<p>Also, using</p>
<p>public class ListImpl extends List</p>
<p>is no better than</p>
<p>public class List : IList</p>
<p>And for the exact same reason.</p>
<p>Always have your class name give a meaningful description of how the class implements the interface.  Sometimes the implementation affects scalability like in the list example.  Sometimes the implementation requires resources like Internet access.  Sometimes the implementation supports high availability or multi-user access or synchronization, etc.  There&#8217;s always a meaningful adjective to modify a class that implements one or more interfaces.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-5899</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Tue, 12 Oct 2010 19:15:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-5899</guid>
		<description>Why isn&#039;t this a function of syntactical highlighting instead of Hungarian notation?  Why doesn&#039;t the IDE just italicize identifiers that refer to interfaces if it&#039;s so important to distinguish between classes and interfaces.  I hate putting &quot;_&quot; or &quot;m_&quot; before fields, &quot;C&quot; before classes, etc.  Even worse, it encourages programmers write really bad APIs like

public class List : IList

instead of

public class LinkedList : IList
public class ArrayList : IList
public class HashList : IList

Even the .NET common class authors fell into this trap.  A class name should NEVER be the name of the interface with just the &quot;I&quot; removed.  The class name should always tell the user how the class differs from other possible implementations of the interface(s).  I vote for dropping the stupid &quot;I&quot; for that reason alone.

Also, when I use intelisense, I want to group things by functional area, not whether it&#039;s a class or interface.  I never think, &quot;I need an interface, not a class.&quot;  I always think, &quot;I need something that does X&quot;.</description>
		<content:encoded><![CDATA[<p>Why isn&#8217;t this a function of syntactical highlighting instead of Hungarian notation?  Why doesn&#8217;t the IDE just italicize identifiers that refer to interfaces if it&#8217;s so important to distinguish between classes and interfaces.  I hate putting &#8220;_&#8221; or &#8220;m_&#8221; before fields, &#8220;C&#8221; before classes, etc.  Even worse, it encourages programmers write really bad APIs like</p>
<p>public class List : IList</p>
<p>instead of</p>
<p>public class LinkedList : IList<br />
public class ArrayList : IList<br />
public class HashList : IList</p>
<p>Even the .NET common class authors fell into this trap.  A class name should NEVER be the name of the interface with just the &#8220;I&#8221; removed.  The class name should always tell the user how the class differs from other possible implementations of the interface(s).  I vote for dropping the stupid &#8220;I&#8221; for that reason alone.</p>
<p>Also, when I use intelisense, I want to group things by functional area, not whether it&#8217;s a class or interface.  I never think, &#8220;I need an interface, not a class.&#8221;  I always think, &#8220;I need something that does X&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Week in Code (XII) &#171; Sgt. Conker</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2455</link>
		<dc:creator>The Week in Code (XII) &#171; Sgt. Conker</dc:creator>
		<pubDate>Thu, 15 Oct 2009 14:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2455</guid>
		<description>[...] Should We Change the Way We Name Interfaces in .NET?&#160;Russell Ball about dropping the I of the interface names and annotate the implementations with an Impl suffix instead. The first two comments pretty much sum up my current thoughts on this. [...]</description>
		<content:encoded><![CDATA[<p>[...] Should We Change the Way We Name Interfaces in .NET?&#160;Russell Ball about dropping the I of the interface names and annotate the implementations with an Impl suffix instead. The first two comments pretty much sum up my current thoughts on this. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Weekly Links #70 &#124; GrantPalin.com</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2265</link>
		<dc:creator>Weekly Links #70 &#124; GrantPalin.com</dc:creator>
		<pubDate>Mon, 14 Sep 2009 01:04:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2265</guid>
		<description>[...] Should We Change the Way We Name Interfaces in .NET? Discussion on using a different technique for naming interfaces, rather than the typical ISomething. [...]</description>
		<content:encoded><![CDATA[<p>[...] Should We Change the Way We Name Interfaces in .NET? Discussion on using a different technique for naming interfaces, rather than the typical ISomething. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; interface</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2262</link>
		<dc:creator>Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; interface</dc:creator>
		<pubDate>Sat, 12 Sep 2009 12:10:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2262</guid>
		<description>[...] See original here: Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] See original here: Should We Change the Way We Name Interfaces in .NET? | Caffeinated &#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: T. Moriarty</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2258</link>
		<dc:creator>T. Moriarty</dc:creator>
		<pubDate>Fri, 11 Sep 2009 18:25:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2258</guid>
		<description>If you are still using the JLam color scheme, interfaces and structs have the same color.  Personally, I don&#039;t mind the I prefix.  But at the same time, I experiment with different naming conventions and styles.  Ulitmately, what is important is that your organization has a standard.</description>
		<content:encoded><![CDATA[<p>If you are still using the JLam color scheme, interfaces and structs have the same color.  Personally, I don&#8217;t mind the I prefix.  But at the same time, I experiment with different naming conventions and styles.  Ulitmately, what is important is that your organization has a standard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; kukuge</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2257</link>
		<dc:creator>Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; kukuge</dc:creator>
		<pubDate>Fri, 11 Sep 2009 18:22:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2257</guid>
		<description>[...] Originally posted here:  Should We Change the Way We Name Interfaces in .NET? &#124; Caffeinated &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] Originally posted here:  Should We Change the Way We Name Interfaces in .NET? | Caffeinated &#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lee Brandt</title>
		<link>http://www.caffeinatedcoder.com/should-we-change-the-way-we-name-interfaces-in-net/comment-page-1/#comment-2256</link>
		<dc:creator>Lee Brandt</dc:creator>
		<pubDate>Fri, 11 Sep 2009 16:42:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=662#comment-2256</guid>
		<description>I am a fan of killing the sacred ICow and just calling it Cow and having DefaultCow, JerseyCow and MexicaqnCow. I read something about this last year and thought it would be nice, but didn&#039;t try and introduce it to my team. IInterface naming is a developer &quot;woobie&quot; that they&#039;re definitely not ready to give up yet. I also read some one saying if you must use &quot;I&quot; as a prefixe try making it a pronoun IManageCache, IAuthorizeUsers. Still would like to drop the &quot;I&quot; altogether.

~Lee</description>
		<content:encoded><![CDATA[<p>I am a fan of killing the sacred ICow and just calling it Cow and having DefaultCow, JerseyCow and MexicaqnCow. I read something about this last year and thought it would be nice, but didn&#8217;t try and introduce it to my team. IInterface naming is a developer &#8220;woobie&#8221; that they&#8217;re definitely not ready to give up yet. I also read some one saying if you must use &#8220;I&#8221; as a prefixe try making it a pronoun IManageCache, IAuthorizeUsers. Still would like to drop the &#8220;I&#8221; altogether.</p>
<p>~Lee</p>
]]></content:encoded>
	</item>
</channel>
</rss>

