<?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: Working Through the &#8220;OO&#8217;s Small Classes and Short Methods&#8221; Exercise</title>
	<atom:link href="http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/</link>
	<description>Ye Olde Computer Science Blogge</description>
	<lastBuildDate>Fri, 18 Jun 2010 17:23:52 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Steve</title>
		<link>http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/comment-page-1/#comment-9426</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 09 Jun 2008 22:37:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/?p=81#comment-9426</guid>
		<description>Jake!

Very interesting post. I read a little bit about wrapping all primitives and removing getters and setters in this article: http://www.javaworld.com/javaworld/jw-01-2004/jw-0102-toolbox.html It&#039;s a good read; check it out.

-Steve</description>
		<content:encoded><![CDATA[<p>Jake!</p>
<p>Very interesting post. I read a little bit about wrapping all primitives and removing getters and setters in this article: <a href="http://www.javaworld.com/javaworld/jw-01-2004/jw-0102-toolbox.html" rel="nofollow">http://www.javaworld.com/javaworld/jw-01-2004/jw-0102-toolbox.html</a> It&#8217;s a good read; check it out.</p>
<p>-Steve</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Dubroy</title>
		<link>http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/comment-page-1/#comment-7601</link>
		<dc:creator>Patrick Dubroy</dc:creator>
		<pubDate>Tue, 27 May 2008 23:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/?p=81#comment-7601</guid>
		<description>Jake,

Interesting, and cool to see that you actually took the time to try this experiment. But, one thing I would say is that it&#039;s not really possible for you to judge the value of these constraints on your own. My main complaint about the &quot;object calisthenics&quot; exercise was that the guidelines favoured &quot;proper OO&quot; and conciseness over readability and simplicity. 

For you, the &quot;one level of identation per method&quot; and &quot;wrap all primitives&quot; guidelines might seem like good constraints, it&#039;s hard for you to judge because you don&#039;t have to experience reading the code without understanding it. Someone not familiar with the code might have to spend more time exploring the code to figure it out.

On the other hand, there is no clear-cut answer to these things. Some people prefer nice abstractions, other people just want to see what the code is actually doing. I don&#039;t mind the abstractions when I know I can trust them (e.g. the Python standard library) but am less comfortable with code that hasn&#039;t been as thoroughly tested. YMMV.

Anyways, great article. Good point about the advantage of wrapping primitives when you&#039;re using a language with explicit types -- I hadn&#039;t thought about that.</description>
		<content:encoded><![CDATA[<p>Jake,</p>
<p>Interesting, and cool to see that you actually took the time to try this experiment. But, one thing I would say is that it&#8217;s not really possible for you to judge the value of these constraints on your own. My main complaint about the &#8220;object calisthenics&#8221; exercise was that the guidelines favoured &#8220;proper OO&#8221; and conciseness over readability and simplicity. </p>
<p>For you, the &#8220;one level of identation per method&#8221; and &#8220;wrap all primitives&#8221; guidelines might seem like good constraints, it&#8217;s hard for you to judge because you don&#8217;t have to experience reading the code without understanding it. Someone not familiar with the code might have to spend more time exploring the code to figure it out.</p>
<p>On the other hand, there is no clear-cut answer to these things. Some people prefer nice abstractions, other people just want to see what the code is actually doing. I don&#8217;t mind the abstractions when I know I can trust them (e.g. the Python standard library) but am less comfortable with code that hasn&#8217;t been as thoroughly tested. YMMV.</p>
<p>Anyways, great article. Good point about the advantage of wrapping primitives when you&#8217;re using a language with explicit types &#8212; I hadn&#8217;t thought about that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Binstock</title>
		<link>http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/comment-page-1/#comment-7411</link>
		<dc:creator>Andrew Binstock</dc:creator>
		<pubDate>Mon, 26 May 2008 18:15:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/?p=81#comment-7411</guid>
		<description>Great post! Thanks for doing the exercise and sharing your results. 

I certainly agree with your &quot;good.&quot; As to the &quot;bad,&quot; I think limiting a class to no more than two instance variables is a salutary exercise, as it tends to force reconsideration of whether an object really shows cohesion or whether it&#039;s doing several things that should be broken out separately.

Cheers!</description>
		<content:encoded><![CDATA[<p>Great post! Thanks for doing the exercise and sharing your results. </p>
<p>I certainly agree with your &#8220;good.&#8221; As to the &#8220;bad,&#8221; I think limiting a class to no more than two instance variables is a salutary exercise, as it tends to force reconsideration of whether an object really shows cohesion or whether it&#8217;s doing several things that should be broken out separately.</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jake</title>
		<link>http://www.jakevoytko.com/blog/2008/05/26/working-through-the-oos-small-classes-and-short-methods-exercise/comment-page-1/#comment-7324</link>
		<dc:creator>Jake</dc:creator>
		<pubDate>Mon, 26 May 2008 04:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/?p=81#comment-7324</guid>
		<description>Hey Jake,

you might want to check out how your setup handles code.  This is a prototype as I see it:
RatingPrediction SVDApproximation::prediction(const CustomerID&amp;, const MovieID&amp;);

Something&#039;s escaping things when they don&#039;t need to be escaped.  I suspect that the  tag has something to do with it, but I&#039;m not sure.</description>
		<content:encoded><![CDATA[<p>Hey Jake,</p>
<p>you might want to check out how your setup handles code.  This is a prototype as I see it:<br />
RatingPrediction SVDApproximation::prediction(const CustomerID&amp;, const MovieID&amp;);</p>
<p>Something&#8217;s escaping things when they don&#8217;t need to be escaped.  I suspect that the  tag has something to do with it, but I&#8217;m not sure.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
