<?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>Code Simplicity &#187; Uncategorized</title>
	<atom:link href="http://www.codesimplicity.com/post/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codesimplicity.com</link>
	<description></description>
	<lastBuildDate>Thu, 17 Nov 2011 19:00:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clues to Complexity</title>
		<link>http://www.codesimplicity.com/post/clues-to-complexity/</link>
		<comments>http://www.codesimplicity.com/post/clues-to-complexity/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 19:00:52 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codesimplicity.com/?p=1056</guid>
		<description><![CDATA[Here are some clues that tell you that your code may be too complex:

You have to add &#8220;hacks&#8221; to make things keep working.
Other developers keep asking you how some part of the code works.
Other developers keep mis-using your code, and causing bugs.
Reading a line of code takes longer than an instant for an experienced developer.
You [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some clues that tell you that your code may be too complex:</p>
<ul>
<li>You have to add &#8220;hacks&#8221; to make things keep working.</li>
<li>Other developers keep asking you how some part of the code works.</li>
<li>Other developers keep mis-using your code, and causing bugs.</li>
<li>Reading a line of code takes longer than an instant for an experienced developer.</li>
<li>You feel scared to modify this part of the code.</li>
<li>Management seriously considers hiring more than one developer to work on a single class or file.</li>
<li>It&#8217;s hard to figure out how to add a feature.</li>
<li>Developers often argue about how things should be implemented in this part of the code.</li>
<li>People make utterly nonsensical changes to this part of the code very often, which you catch only during code review, or only after the change has been checked in.</li>
</ul>
<p>That&#8217;s what I can come up with off the top of my head. What are some others?</p>
<p>-Max</p>
<p><a href="http://www.codesimplicity.com/post/clues-to-complexity/#comments">Comments: 11</a></p><hr style="margin: 0; margin-top: 0.5em; border: none; border-top: 1px solid black; width: 1.5em"><p>Code Simplicity is brought to you by <a href="http://www.codesimplicity.com/about/">Max Kanat-Alexander</a> and <a href="http://www.bugzillasource.com">BugzillaSource</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codesimplicity.com/post/clues-to-complexity/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>&#8220;Consistency&#8221; Does Not Mean &#8220;Uniformity&#8221;</title>
		<link>http://www.codesimplicity.com/post/consistency-does-not-mean-uniformity/</link>
		<comments>http://www.codesimplicity.com/post/consistency-does-not-mean-uniformity/#comments</comments>
		<pubDate>Thu, 14 May 2009 19:00:47 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codesimplicity.com/?p=127</guid>
		<description><![CDATA[In a user interface, similar things should look the same. But different things should look different.
Why do over 75% of Facebook&#8217;s users think that the new Facebook UI is bad? Because it makes different things look similar to each other. Nobody can tell if they&#8217;re updating their status or writing on somebody else&#8217;s wall, because [...]]]></description>
			<content:encoded><![CDATA[<p>In a user interface, similar things should look the same. But <em>different</em> things should look <strong>different</strong>.</p>
<p>Why do over 75% of Facebook&#8217;s users think that the new Facebook UI is bad? Because it makes <em>different</em> things look <em>similar</em> to each other. Nobody can tell if they&#8217;re updating their status or writing on somebody else&#8217;s wall, because even though the text is slightly different in the box depending on what you&#8217;re doing, the box itself <em>looks the same</em>. The new Chat UI (introduced a few days ago) makes idle users look basically identical to active users, except for a tiny icon difference. (It&#8217;s also important that different things are different <em>enough</em>, not just a little different, because people often won&#8217;t notice little differences.)</p>
<p>This is an easy pitfall for developers to fall into because developers love <em>consistency</em>. Everything should be based on a single framework, in the backend of an application. But that doesn&#8217;t mean that everything has to be <em>displayed</em> the same in the UI.</p>
<p>This fact&#8211;that different things should look different&#8211;is actually true with code, too, but people rarely think about it, because developers are actually pretty good about it. For example, accessing a value of an object should look different than calling a method on it, and in most programs, it does. For example, in Bugzilla&#8217;s code, accessing a value on an object looks like <code>$object-&gt;value</code> whereas calling a method on the object looks like <code>$object-&gt;method()</code>. It&#8217;s not all <em>that</em> different, but the <code>()</code> at the end is enough difference for the average programmer to notice &#8220;Oh, that&#8217;s a method call that <em>does something</em>&#8211;it&#8217;s not just accessing a value in the object.&#8221;</p>
<p>All in all, consistency is really important in both the backend and the frontend of an application. But that doesn&#8217;t mean that every single thing should look exactly the same&#8211;if we took that to extremes, we&#8217;d just have a solid white page, and that doesn&#8217;t seem all that usable (frontend) or readable (backend), does it?</p>
<p><a href="http://www.codesimplicity.com/post/consistency-does-not-mean-uniformity/#comments">Comments: 7</a></p><hr style="margin: 0; margin-top: 0.5em; border: none; border-top: 1px solid black; width: 1.5em"><p>Code Simplicity is brought to you by <a href="http://www.codesimplicity.com/about/">Max Kanat-Alexander</a> and <a href="http://www.bugzillasource.com">BugzillaSource</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codesimplicity.com/post/consistency-does-not-mean-uniformity/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

