<?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>Coding Against the Grain</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx</link><description>The other day, I was reviewing a coworker's design for an area she was writing. As she was describing the responsibilities of each class, my attention was drawn to one in particular: "Why is this method in this class Foo? I mean, it's true that the operation</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>I hear you</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx#3096527</link><pubDate>Tue, 05 Jun 2007 15:07:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3096527</guid><dc:creator>Pesho</dc:creator><description>&lt;p&gt;...except, perhaps, about Paramaphobia, but maybe I didn't quite get the point. &amp;nbsp;I am not very strongly decided on parameter objects vs instance members, but in most cases I find myself slightly leaning towards the latter.&lt;/p&gt;
</description></item><item><title>re: Coding Against the Grain</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx#3097079</link><pubDate>Tue, 05 Jun 2007 16:09:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3097079</guid><dc:creator>Chris Khoo</dc:creator><description>&lt;p&gt;Yes, I'm not too particularly keen on enums... Whenever possible, I try to use abstract classes (within reason of course).&lt;/p&gt;
&lt;p&gt;If you haven't seen it, this is possibly my all-time favourite URL for good OOP principles:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.objectmentor.com/omSolutions/oops_what.html"&gt;http://www.objectmentor.com/omSolutions/oops_what.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chris&lt;/p&gt;
</description></item><item><title>re: Coding Against the Grain</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx#3108423</link><pubDate>Wed, 06 Jun 2007 06:46:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3108423</guid><dc:creator>Alexander Fairley</dc:creator><description>&lt;p&gt;Paramaphobia is merited! Keyword parameters were probably the number one selling point for me when I switched from Java to Python(many more came later of course)&lt;/p&gt;
</description></item><item><title>re: Coding Against the Grain</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx#3108620</link><pubDate>Wed, 06 Jun 2007 07:05:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3108620</guid><dc:creator>cashto</dc:creator><description>&lt;p&gt;Keyword parameters are nice (though they can be simulated in C++ via the Named Parameter Idiom (&lt;a rel="nofollow" target="_new" href="http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18"&gt;http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Paramaphobia is really about the sort of programming style where nearly every function is a takes-void-returns-void method, and information is passed between them with member variables. &amp;nbsp;(You may laugh and ask &amp;quot;who does that?!&amp;quot; -- some of my coworkers, that's who ...)&lt;/p&gt;
</description></item><item><title>What Is True</title><link>http://blogs.msdn.com/cashto/archive/2007/06/04/coding-against-the-grain.aspx#3163924</link><pubDate>Fri, 08 Jun 2007 18:02:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3163924</guid><dc:creator>John</dc:creator><description>&lt;p&gt;Amen to the distinction about truth. I find that bloggers spend all kinds of time talking about functions and objects and classes and so on (as you have done here). But rarely do we get deep and serious conversations about if statements and switch statements! For example I have begun writing all my if statements without using the &amp;quot;not&amp;quot; (&amp;quot;!&amp;quot; in C#) keyword. All my if statements test for truth. If nothing happens on truth, I just have a blank open-close-bracket, and then the else statement. I find that this really speeds up my reading. Anyway cheers for bringing up an important but esoteric topic.&lt;/p&gt;
</description></item></channel></rss>