<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Devign Path&#187; Design</title>
	<atom:link href="http://thedevignpath.com/archives/category/design/feed" rel="self" type="application/rss+xml" />
	<link>http://thedevignpath.com</link>
	<description>design + development = devign</description>
	<lastBuildDate>Sat, 28 Aug 2010 12:16:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Coupling &#8211; not the dating kind</title>
		<link>http://thedevignpath.com/archives/81</link>
		<comments>http://thedevignpath.com/archives/81#comments</comments>
		<pubDate>Sun, 15 Aug 2010 19:04:39 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/?p=81</guid>
		<description><![CDATA[I just watched Grand Unified Theory of Software Design by Jim Weirich on Vimeo and I found it quite insightful. The main aim of his talk as I understand is to come up with an object way of recognizing and (&#8230;)</p><p><a href="http://thedevignpath.com/archives/81">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I just watched <a href="http://vimeo.com/10837903">Grand Unified Theory of Software Design by Jim Weirich</a> on Vimeo and I found it quite insightful.</p>
<p>The main aim of his talk as I understand is to come up with an object way of recognizing and talking about good code design and more specifically code coupling. He referenced the idea of <a href="http://en.wikipedia.org/wiki/Connascence_(computer_science)">&#8216;connascence&#8217; </a> which basically means &#8220;things which change together&#8221;. There are different types of &#8216;connascence&#8217; (I wonder when I&#8217;ll get bored of using quotes on that word).</p>
<p><strong>Types of &#8216;connascence&#8217;</strong></p>
<ol>
<li>name &#8211; method name and method call. When the name of a method changes you have to change the corresponding method calls. This is the weakest type of coupling and we refactor code in this direction.</li>
<li>position &#8211; order specific process. Think of an array as opposed to a hash or collection of some sort &#8211; the latter is better. By using a collection/hash we reduce our coupling to &#8216;connascence of name&#8217;.</li>
<li>meaning &#8211; variables mean arbitrary things that need to be understood to use them properly. Use constants instead.</li>
<li>contranescene &#8211; namespace conflicts. Ever heard of <a href="http://api.jquery.com/jQuery.noConflict/">jQuery.noConflict</a>()? Make your variables play nice with each other by using namespaces.</li>
<li>algorithm &#8211; duplication of algorithm in more than one place. I usually spot this very quickly.</li>
<li>timing ie. race conditions. This happens when a function or process finishes sooner or later than it is expected to. In JavaScript callbacks are really useful.</li>
<li>execution &#8211; order of execution matters.</li>
<li>identity &#8211; objects have to be the same.</li>
</ol>
<p>Coupling drives me crazy and I need to get better at reducing it. It&#8217;s scary when I want to change some code and I keep wondering if some function far away is going to break. (Tip: keep related functions close together). I found this mnemonic  <a href="http://en.wikipedia.org/wiki/Solid_(object-oriented_design)">SOLID </a>helpful. Maybe I should write each letter on a finger. <img src='http://thedevignpath.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/81/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doodling in Adobe Illustrator</title>
		<link>http://thedevignpath.com/archives/21</link>
		<comments>http://thedevignpath.com/archives/21#comments</comments>
		<pubDate>Sun, 01 Mar 2009 17:55:07 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[design doodles illustrator]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/21</guid>
		<description><![CDATA[Just some doodles I was doing in Adobe Illustrator. Technorati Tags: design doodles illustrator]]></description>
			<content:encoded><![CDATA[<p>Just some doodles I was doing in Adobe Illustrator.</p>
</p>
<p><a href="http://thedevignpath.com/wp-content/uploads/2009/03/doodlescrossroads.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Crossroads" border="0" alt="Crossroads" src="http://thedevignpath.com/wp-content/uploads/2009/03/doodlescrossroads-thumb.jpg" width="244" height="188" /></a> <a href="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesface.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Face" border="0" alt="Face" src="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesface-thumb.jpg" width="224" height="244" /></a> <a href="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesrubberduckie.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Rubber duckie" border="0" alt="Rubber duckie" src="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesrubberduckie-thumb.jpg" width="244" height="192" /></a> <a href="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesseabird.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="sea bird" border="0" alt="sea bird" src="http://thedevignpath.com/wp-content/uploads/2009/03/doodlesseabird-thumb.jpg" width="244" height="185" /></a> <a href="http://thedevignpath.com/wp-content/uploads/2009/03/doodlescity.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="City" border="0" alt="City" src="http://thedevignpath.com/wp-content/uploads/2009/03/doodlescity-thumb.jpg" width="244" height="164" /></a></p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:73dce191-a04b-42f0-a1cb-7e638f96e42f" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/design+doodles+illustrator" rel="tag">design doodles illustrator</a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/21/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
