<?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>Flash Moments &#187; rant</title>
	<atom:link href="http://flashmoments.novelastudios.com/tag/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://flashmoments.novelastudios.com</link>
	<description>ActionScript, Flash, and Flex</description>
	<lastBuildDate>Wed, 01 Dec 2010 02:59:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Construction in Programming &#8211; Convention over Configuration</title>
		<link>http://flashmoments.novelastudios.com/programming-practice/construction-programming-convention-configuration/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://flashmoments.novelastudios.com/programming-practice/construction-programming-convention-configuration/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 02:59:17 +0000</pubDate>
		<dc:creator>johntimothybailey</dc:creator>
				<category><![CDATA[Programming Practice]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[convention over configuration]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://flashmoments.novelastudios.com/?p=200</guid>
		<description><![CDATA[Tonight I was putting up an additional shelf in my closet and I didn&#8217;t have all the screws and wall anchors I need due to breaking some of the anchors. Thankfully, construction workers and engineers thrive off of convention over configuration! All I had to do is find the approximate size wall anchor in my [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"></div><p>Tonight I was putting up an additional shelf in my closet and I didn&#8217;t have all the screws and wall anchors I need due to breaking some of the anchors. Thankfully, construction workers and engineers thrive off of convention over configuration! All I had to do is find the approximate size wall anchor in my toolbox.</p>
<p>Do you realize how annoying and unproductive it would be if every time during a construction project (whether a shelf or a house), construction workers had to cast all their own screws, bolts, joints, etc. No! They build from convention. They build with tools and parts that align to common specs and this allows them great customization.</p>
<p>So, why do programmers often say &#8220;we don&#8217;t have time&#8221; or &#8220;[convention over configuration] works in an ideal world&#8221;?! If programmers were construction workers, they&#8217;d be fired and construction would take even longer (think about that scary idea).</p>
<p>Convention over configuration isn&#8217;t a &#8220;nice to have.&#8221; It is paramount to us being productive, efficient, and effective developers. We should take the lesson and be <em>Program Workers</em>.</p>
<p>Construct away!</p>
<img src="http://flashmoments.novelastudios.com/?ak_action=api_record_view&id=200&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://flashmoments.novelastudios.com/programming-practice/construction-programming-convention-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parsing Algorithms &#8211; Creational Patterns</title>
		<link>http://flashmoments.novelastudios.com/architectural-pattern/parsing-algorithms-creational-patterns/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://flashmoments.novelastudios.com/architectural-pattern/parsing-algorithms-creational-patterns/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 18:57:56 +0000</pubDate>
		<dc:creator>johntimothybailey</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Architectural Pattern]]></category>
		<category><![CDATA[Programming Architecture]]></category>
		<category><![CDATA[Programming Practice]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Suggestion]]></category>

		<guid isPermaLink="false">http://flashmoments.novelastudios.com/?p=85</guid>
		<description><![CDATA[This is as much a recommendation as a rant, so pardon me while I do both Situation Open-source project or foundational classes for use within your organization that contains methods for parsing data. Background Often, I&#8217;ve run into issues where I am using an open-source library (public or private) and I need to add extra [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"></div><p><em><span style="color: #888888;">This is as much a recommendation as a rant, so pardon me while I do both <img src='http://flashmoments.novelastudios.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></em></p>
<p><strong>Situation<br />
</strong>Open-source project or foundational classes for use within your organization that contains methods for parsing data.</p>
<p><strong>Background<br />
</strong>Often, I&#8217;ve run into issues where I am using an open-source library (public or private) and I need to add extra logic to a creational algorithm(s) and cannot or cannot easily do so. This is what has sparked me to write this post, because I am increasingly seeing these types of issues.</p>
<p><strong>Recommendation<br />
</strong>When creating algorithms that create objects from other objects (eg models and serialization) , please use offload the logic to accessible and easily modifiable methods. In Design Pattern terms, I&#8217;m requesting and ranting that the Factory Method Pattern, Strategy Pattern, or something similar be used. This only compounds in importance when there are several objects created in a single method!  &lt;&#8211; That right there is arguably bad practice in general for large projects.</p>
<p><strong>Example<br />
<span style="font-weight: normal;"><em><span style="color: #808080;">NOTE</span></em></span><span style="font-weight: normal;"><em><span style="color: #808080;">: Showing a simple example seems to not show the problem, but I&#8217;ll try. For a better example, please refer to &#8220;Real-Life Example&#8221; below.</span></em></span></strong></p>
<p><strong> </strong></p>
<p><strong>Mapping XML properties to models within a project.</strong></p>
<pre lang="Actionscript">protected updateList():void
{
var header:Header = new Header;
header.title = _xml.header.@title;
header.lang = _xml.header.@lang;
header.colors = _xml.header.colors.toArray();

var body:Body = _body;
var child:XML;
for (var i:Number = 0; i &lt; _xml.body.item.length(); ++i)
{
child = _xml.body.item[i];
body.getItemAt(i).text = child.@text;
}
}</pre>
<p><strong><span style="font-weight: normal;"><br />
</span></strong></p>
<p><strong>Real-Life Example<br />
<em><span style="color: #333333;">NOTE:</span></em><span style="font-weight: normal;"> I do not mean to pick on or criticize the fine work done by the peeps working on the <a title="OpenVideoPlayer Project" href="openvideoplayer.sourceforge.net/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">OpenVideoPlayer Project</a> and MUST EMPHASIZE that the project is very useful and saves time. This merely serves as an easy example to show. Moreover, I&#8217;ve written my fair share of problematic code along these lines too.</span></strong></p>
<p><strong> </strong></p>
<ul>
<li><span style="font-weight: normal;"><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2977117&amp;group_id=243060&amp;atid=1121331">https://sourceforge.net/tracker/?func=detail&amp;aid=2977117&amp;group_id=243060&amp;atid=1121331</a></span></li>
</ul>
<img src="http://flashmoments.novelastudios.com/?ak_action=api_record_view&id=85&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://flashmoments.novelastudios.com/architectural-pattern/parsing-algorithms-creational-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

