<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx</link><description>Over the past year and a half of working on the C# compiler we’ve refactored a lot of crufty old code. But a surprising number of the “refactorings” have actually simply been renaming a structure, class, or method to something more sensible. The compiler</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#9562628</link><pubDate>Wed, 22 Apr 2009 19:29:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9562628</guid><dc:creator>Thomas Jeyaseelan</dc:creator><description>&lt;p&gt;Any class with the word &amp;quot;utilities&amp;quot; seems to be designed to hold a variety of unrelated functions that programmers couldn't find a better place for.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9562628" width="1" height="1"&gt;</description></item><item><title>Community Convergence XXVIII</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3431554</link><pubDate>Thu, 21 Jun 2007 00:39:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3431554</guid><dc:creator>Charlie Calvert's Community Blog</dc:creator><description>&lt;p&gt;Welcome to the XXVIII Community Convergence. In these posts I try to wrap up events that have occurred&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3431554" width="1" height="1"&gt;</description></item><item><title>The Religion of Class Member Prefixing</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3362418</link><pubDate>Sun, 17 Jun 2007 20:28:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3362418</guid><dc:creator>Peter Ritchie's MVP Blog</dc:creator><description>&lt;p&gt;The periodic identifier naming/prefixing/Hungarian-notation religions discussion reared its head recently&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3362418" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3271493</link><pubDate>Wed, 13 Jun 2007 19:36:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3271493</guid><dc:creator>Eric Lippert</dc:creator><description>&lt;p&gt;I didn't say that they were &amp;quot;automatically bad&amp;quot;. &amp;nbsp;They are not. I said that they were &amp;quot;often a sign of too much or too little abstraction&amp;quot;. Which they are.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3271493" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3271018</link><pubDate>Wed, 13 Jun 2007 19:05:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3271018</guid><dc:creator>Adi</dc:creator><description>&lt;p&gt;Try using GhostDoc, it will cause you to use better names.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3271018" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3262063</link><pubDate>Wed, 13 Jun 2007 09:13:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3262063</guid><dc:creator>Chris Nahr</dc:creator><description>&lt;p&gt;I agree with Tom. &amp;nbsp;A class name suffix (Ex or number) is really the best choice when you need to add some random helper methods to a base class you can't change -- so you make a derived class called ClassEx. &amp;nbsp;If you mandate that such suffixes cannot be used you're just making work harder for everyone. &amp;nbsp;Either these helper methods will then appear in totally unrelated classes (with similarly uninspired names like ...Utility), or they cannot be written at all if they need to refer to protected members, or people have to think up some silly arbitrary name just so they don't use Ex/2.&lt;/p&gt;
&lt;p&gt;For the same reason, I disagree that Misc or Core/Worker are automatically bad. &amp;nbsp;These are often in fact the best names for the best division of code, quaint as they might sound. &amp;nbsp;Now Fake/Real and Special/Normal, that does sound bad!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3262063" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3257249</link><pubDate>Wed, 13 Jun 2007 00:38:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3257249</guid><dc:creator>Zac</dc:creator><description>&lt;p&gt;These are very nice examples; see also &lt;a rel="nofollow" target="_new" href="http://c2.com/cgi/wiki?BadVariableNames"&gt;http://c2.com/cgi/wiki?BadVariableNames&lt;/a&gt; (like most c2 pages this is hoplessly disorganized, but some amusing examples nonetheless), and also all kinds of articles about how any comments in your code are another warning sign that the code needs cleanup.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3257249" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3257130</link><pubDate>Wed, 13 Jun 2007 00:28:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3257130</guid><dc:creator>Tom Kirby-Green</dc:creator><description>&lt;p&gt;Actually the Framework Design Guidelines recommend using numeric epilogues to class names in preference to &amp;quot;Ex&amp;quot; - which lets face it you can only use once. Personally I'd rather see Foo, Foo2, Foo3 etc than have the developer struggle and fail to come up with a wholey unique name that doesn't reflect the classes nature. Just my 2p worth.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3257130" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3257128</link><pubDate>Wed, 13 Jun 2007 00:28:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3257128</guid><dc:creator>Raymond Chen - MSFT</dc:creator><description>&lt;p&gt;&amp;quot;My&amp;quot; is a versatile particle. You can apply it to classes (&amp;quot;MyString&amp;quot;) and functions/methods (&amp;quot;MyCopyFile&amp;quot;). All that you really know is that the class/function/method superficially resembles the non-&amp;quot;My&amp;quot; version, but differs in some subtle way that will be the source of a bug 2 months from now.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3257128" width="1" height="1"&gt;</description></item><item><title>re: Bad Names</title><link>http://blogs.msdn.com/b/ericlippert/archive/2007/06/12/bad-names.aspx#3256802</link><pubDate>Tue, 12 Jun 2007 23:53:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3256802</guid><dc:creator>Jon Skeet</dc:creator><description>&lt;p&gt;How about &amp;quot;NullableHelper_HACK&amp;quot;?&lt;/p&gt;
&lt;p&gt;:)&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3256802" width="1" height="1"&gt;</description></item></channel></rss>