<?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: What spaghetti code looks like</title>
	<atom:link href="http://eriwen.com/opinion/what-spaghetti-code-looks-like/feed/" rel="self" type="application/rss+xml" />
	<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/</link>
	<description>Programming productively with open-source tools</description>
	<lastBuildDate>Sat, 06 Mar 2010 23:29:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Seçme Yazılar - 01 Aralık 2008 &#124; Taylan Aktepe</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-2022</link>
		<dc:creator>Seçme Yazılar - 01 Aralık 2008 &#124; Taylan Aktepe</dc:creator>
		<pubDate>Mon, 01 Dec 2008 19:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-2022</guid>
		<description>[...] Spaghetti Codes Nedir?  Kodlama tekniğinizi tekrar gözden geçirmenize neden olacak bir yazı! [...]</description>
		<content:encoded><![CDATA[<p>[...] Spaghetti Codes Nedir?  Kodlama tekniğinizi tekrar gözden geçirmenize neden olacak bir yazı! [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wendelin</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1883</link>
		<dc:creator>Eric Wendelin</dc:creator>
		<pubDate>Tue, 04 Nov 2008 15:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1883</guid>
		<description>@Wouter:
Agreed that I might have used &quot;ugly&quot; instead of &quot;spaghetti&quot;, in either case the code is all over the place. Maybe it&#039;s &quot;paint splatter&quot; code...</description>
		<content:encoded><![CDATA[<p>@Wouter:<br />
Agreed that I might have used &#8220;ugly&#8221; instead of &#8220;spaghetti&#8221;, in either case the code is all over the place. Maybe it&#8217;s &#8220;paint splatter&#8221; code&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wouter</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1881</link>
		<dc:creator>Wouter</dc:creator>
		<pubDate>Mon, 03 Nov 2008 20:56:25 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1881</guid>
		<description>@Marco: &quot;&lt;i&gt;... but it’s a bug that wouldn’t have come up had you just fixed the original bug without introducing new code&lt;/i&gt;&quot; - or perhaps you ADD new bugs when trying to fix the bug that shouldn&#039;t have been there if the code had been written more clearly as well as thoroughly tested. After all, you cannot be entirely sure about what the code is doing, even when and if you know more or less what it is supposed to do.

However badly written, I wouldn&#039;t call this &#039;spaghetti code&#039; though. The term &#039;spaghetti code&#039; was applied orginally to (Basic and Pascal) code when the execution jumped from one point to another through &#039;goto&#039; statements...</description>
		<content:encoded><![CDATA[<p>@Marco: &#8220;<i>&#8230; but it’s a bug that wouldn’t have come up had you just fixed the original bug without introducing new code</i>&#8221; &#8211; or perhaps you ADD new bugs when trying to fix the bug that shouldn&#8217;t have been there if the code had been written more clearly as well as thoroughly tested. After all, you cannot be entirely sure about what the code is doing, even when and if you know more or less what it is supposed to do.</p>
<p>However badly written, I wouldn&#8217;t call this &#8217;spaghetti code&#8217; though. The term &#8217;spaghetti code&#8217; was applied orginally to (Basic and Pascal) code when the execution jumped from one point to another through &#8216;goto&#8217; statements&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Sanborn</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1864</link>
		<dc:creator>Mark Sanborn</dc:creator>
		<pubDate>Tue, 28 Oct 2008 15:36:01 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1864</guid>
		<description>Well what if you are in a &lt;a href=&quot;http://en.wikipedia.org/wiki/Obfuscated_Perl_contest&quot; rel=&quot;nofollow&quot;&gt;Perl obfuscation&lt;/a&gt; contest?  Spaghetti code can look beautiful when looking at with the right perspective. :P

Good article Eric, keep em coming.</description>
		<content:encoded><![CDATA[<p>Well what if you are in a <a href="http://en.wikipedia.org/wiki/Obfuscated_Perl_contest" rel="nofollow">Perl obfuscation</a> contest?  Spaghetti code can look beautiful when looking at with the right perspective. :P</p>
<p>Good article Eric, keep em coming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wendelin</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1844</link>
		<dc:creator>Eric Wendelin</dc:creator>
		<pubDate>Fri, 24 Oct 2008 15:30:19 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1844</guid>
		<description>@Marco:
I still disagree about the spaghetti code cycle. A responsible coder would never let something properly designed to degrade so much. Bugs would be fixed without the downward spiral to crappiness.

With any luck, there are requirements to go back to or a programmer/client to ask. Obviously, rewriting should not occur if no one really knows what the program is supposed to do in the first place.</description>
		<content:encoded><![CDATA[<p>@Marco:<br />
I still disagree about the spaghetti code cycle. A responsible coder would never let something properly designed to degrade so much. Bugs would be fixed without the downward spiral to crappiness.</p>
<p>With any luck, there are requirements to go back to or a programmer/client to ask. Obviously, rewriting should not occur if no one really knows what the program is supposed to do in the first place.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1837</link>
		<dc:creator>Marco</dc:creator>
		<pubDate>Thu, 23 Oct 2008 05:09:43 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1837</guid>
		<description>Dmitri makes a good point: once spaghetti code exists, there *is* a spaghetti code cycle. If code has been produced without tests and without code review, then simply &quot;rewriting&quot; it can often follow the script outlined by Dmitri. I wholeheartedly agree with avoiding spaghetti code in the first place, but, if you&#039;ve already got it, the solution is less clear. 

You described a case in which you figured out the code enough in order to determine what was causing the bug. Armed with this knowledge and the &quot;obvious&quot; design implied by the form itself, you&#039;ll want to rewrite it and replace it. However, it&#039;s entirely possible that you missed something (it&#039;s spaghetti code, after all) and that that something will bite you later in the release and testing cycle. Granted, you should be able to fix it very quickly, but it&#039;s a bug that wouldn&#039;t have come up had you just fixed the original bug without introducing new code.

The decision to rewrite should definitely be based on how well-tested the existing code is.</description>
		<content:encoded><![CDATA[<p>Dmitri makes a good point: once spaghetti code exists, there *is* a spaghetti code cycle. If code has been produced without tests and without code review, then simply &#8220;rewriting&#8221; it can often follow the script outlined by Dmitri. I wholeheartedly agree with avoiding spaghetti code in the first place, but, if you&#8217;ve already got it, the solution is less clear. </p>
<p>You described a case in which you figured out the code enough in order to determine what was causing the bug. Armed with this knowledge and the &#8220;obvious&#8221; design implied by the form itself, you&#8217;ll want to rewrite it and replace it. However, it&#8217;s entirely possible that you missed something (it&#8217;s spaghetti code, after all) and that that something will bite you later in the release and testing cycle. Granted, you should be able to fix it very quickly, but it&#8217;s a bug that wouldn&#8217;t have come up had you just fixed the original bug without introducing new code.</p>
<p>The decision to rewrite should definitely be based on how well-tested the existing code is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wendelin</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1832</link>
		<dc:creator>Eric Wendelin</dc:creator>
		<pubDate>Wed, 22 Oct 2008 15:23:46 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1832</guid>
		<description>@Dmitri: 
That is the kind of attitude that promotes bad code, and frankly, there is no spaghetti code cycle. Just as Joshua said, if you follow good practice, comment your code for later, and THINK about your design then most bug fixes will be trivial. 

This is because &lt;strong&gt;good design plans for change&lt;/strong&gt; and even bugs, because they will show up. 

There are rare times for quick fixes, but they should always be replaced by a solution that fits the design. Good refactoring is never change for change&#039;s sake.

@Joshua:
I agree, there are times that projects need to die. If we spent all our time trying to upgrade old crappy stuff we&#039;d never move forward.</description>
		<content:encoded><![CDATA[<p>@Dmitri:<br />
That is the kind of attitude that promotes bad code, and frankly, there is no spaghetti code cycle. Just as Joshua said, if you follow good practice, comment your code for later, and THINK about your design then most bug fixes will be trivial. </p>
<p>This is because <strong>good design plans for change</strong> and even bugs, because they will show up. </p>
<p>There are rare times for quick fixes, but they should always be replaced by a solution that fits the design. Good refactoring is never change for change&#8217;s sake.</p>
<p>@Joshua:<br />
I agree, there are times that projects need to die. If we spent all our time trying to upgrade old crappy stuff we&#8217;d never move forward.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://eriwen.com/opinion/what-spaghetti-code-looks-like/#comment-1830</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Wed, 22 Oct 2008 07:17:38 +0000</pubDate>
		<guid isPermaLink="false">http://eriwen.com/?p=284#comment-1830</guid>
		<description>Dimitri did you write it or something lol. If you follow good coding practices and design patterns you wont reach the point of spaghetti code.

I agree its terrible code and something else that really peeves me is inline event handlers on elements.

I&#039;ve had to work on spaghetti code before and in many cases I&#039;m not being paid enough to re-write it all just to maintain it. The last time I did that I ended up ditching the project halfway through, it was just too much effort to try to fix someone else&#039;s poorly designed code.</description>
		<content:encoded><![CDATA[<p>Dimitri did you write it or something lol. If you follow good coding practices and design patterns you wont reach the point of spaghetti code.</p>
<p>I agree its terrible code and something else that really peeves me is inline event handlers on elements.</p>
<p>I&#8217;ve had to work on spaghetti code before and in many cases I&#8217;m not being paid enough to re-write it all just to maintain it. The last time I did that I ended up ditching the project halfway through, it was just too much effort to try to fix someone else&#8217;s poorly designed code.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
