<?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: How Readable is Your PHP?</title>
	<atom:link href="http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<lastBuildDate>Sat, 07 Nov 2009 23:35:20 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Fred</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-9079</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Sun, 02 Oct 2005 08:05:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-9079</guid>
		<description>You could make some functions to make your code more readable. Could also make some classes to make your code more structured, and use low coupling and high cohesion program design&lt;a href=&quot;http://www.cyber-online-mall.com/&quot; rel=&quot;nofollow&quot;&gt;.&lt;/a&gt; I recommend to use low coupling because it can make a good structured program design, good maintainability, information hiding and encapsulation.</description>
		<content:encoded><![CDATA[<p>You could make some functions to make your code more readable. Could also make some classes to make your code more structured, and use low coupling and high cohesion program design<a href="http://www.cyber-online-mall.com/" rel="nofollow">.</a> I recommend to use low coupling because it can make a good structured program design, good maintainability, information hiding and encapsulation.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Canglan&#8217;s Blog 沧蓝品味 &#187; 代码标准 (Coding Standards)</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8518</link>
		<dc:creator>Canglan&#8217;s Blog 沧蓝品味 &#187; 代码标准 (Coding Standards)</dc:creator>
		<pubDate>Wed, 07 Sep 2005 08:43:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8518</guid>
		<description>[...] 在我开始写论坛程序之前，就稍微地研究了一下PEAR的Coding标准和PHPDoc的Comment标准。今天在网上看资料的时候又看到一些关于代码和注释标准的讨论。还有这篇。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 在我开始写论坛程序之前，就稍微地研究了一下PEAR的Coding标准和PHPDoc的Comment标准。今天在网上看资料的时候又看到一些关于代码和注释标准的讨论。还有这篇。 [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Fred</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8517</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Wed, 07 Sep 2005 08:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8517</guid>
		<description>&lt;blockquote&gt;and make entity names such as function, class and variable names obvious and precise&lt;/blockquote&gt;

This can be debatable, one may find a piece of code to be clean and clear whilst the others might not. People tend to have different logic and solution on a same problem.

So I reckon appropriate comments is necessary.</description>
		<content:encoded><![CDATA[<blockquote><p>and make entity names such as function, class and variable names obvious and precise</p></blockquote>
<p>This can be debatable, one may find a piece of code to be clean and clear whilst the others might not. People tend to have different logic and solution on a same problem.</p>
<p>So I reckon appropriate comments is necessary.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Navin</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8346</link>
		<dc:creator>Navin</dc:creator>
		<pubDate>Mon, 29 Aug 2005 11:41:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8346</guid>
		<description>I would recommend to all beginning php-programmers to make familiar with PEAR php coding standards (pear.php.net). There you will find far more tips on how a good code must be organized and developed then in this article.</description>
		<content:encoded><![CDATA[<p>I would recommend to all beginning php-programmers to make familiar with PEAR php coding standards (pear.php.net). There you will find far more tips on how a good code must be organized and developed then in this article.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: daholygoat</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8337</link>
		<dc:creator>daholygoat</dc:creator>
		<pubDate>Mon, 29 Aug 2005 09:58:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8337</guid>
		<description>In some software engineering methodologies (Agile Software Development for example), instructors encourage you to reduce comments, and make entity names such as function, class and variable names obvious and precise. In the book &quot;Refactoring - Improving existing designs&quot;, Martin Fowler explains his view on comments as being a &quot;smell&quot; (read about Refactoring smells) that implies a code structure or naming that is not concise. He encourages to only comment algorithms that are so complex that they can only be made obvious by commenting them. So in short his lesson is: try to improve your code before you comment. It might be better to stress on well structured, obvious code than on commenting, especially (no offense) in the PHP world.</description>
		<content:encoded><![CDATA[<p>In some software engineering methodologies (Agile Software Development for example), instructors encourage you to reduce comments, and make entity names such as function, class and variable names obvious and precise. In the book &#8220;Refactoring &#8211; Improving existing designs&#8221;, Martin Fowler explains his view on comments as being a &#8220;smell&#8221; (read about Refactoring smells) that implies a code structure or naming that is not concise. He encourages to only comment algorithms that are so complex that they can only be made obvious by commenting them. So in short his lesson is: try to improve your code before you comment. It might be better to stress on well structured, obvious code than on commenting, especially (no offense) in the PHP world.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: gmilner</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8307</link>
		<dc:creator>gmilner</dc:creator>
		<pubDate>Fri, 26 Aug 2005 17:28:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8307</guid>
		<description>Of course, the best way to make your PHP code seem immediately more readable is to learn Perl. It&#039;s subjective, but it really works.</description>
		<content:encoded><![CDATA[<p>Of course, the best way to make your PHP code seem immediately more readable is to learn Perl. It&#8217;s subjective, but it really works.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: BDKR</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8298</link>
		<dc:creator>BDKR</dc:creator>
		<pubDate>Fri, 26 Aug 2005 13:01:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8298</guid>
		<description>Well, all I can say is &quot;preach it brother&quot;! Being in the position of having to manage and extend a code base that is the stuff of nightmares, I feel this very topic should be one of the most loudly ballyhooed on the net today. 

By far, the most difficult challenge with my present employment is in extending portions of existing functionality that was never clearly abstracted or defined in the first place. So as a result of this hastily jumbled together moras of spaghetti, the &lt;strong&gt;&lt;em&gt;vast majority&lt;/em&gt;&lt;/strong&gt; of my time is dedicated to merely &quot;grokking&quot; what I see before me. And we all know you should only attempt to extend what you understand.</description>
		<content:encoded><![CDATA[<p>Well, all I can say is &#8220;preach it brother&#8221;! Being in the position of having to manage and extend a code base that is the stuff of nightmares, I feel this very topic should be one of the most loudly ballyhooed on the net today. </p>
<p>By far, the most difficult challenge with my present employment is in extending portions of existing functionality that was never clearly abstracted or defined in the first place. So as a result of this hastily jumbled together moras of spaghetti, the <strong><em>vast majority</em></strong> of my time is dedicated to merely &#8220;grokking&#8221; what I see before me. And we all know you should only attempt to extend what you understand.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sky</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8289</link>
		<dc:creator>Sky</dc:creator>
		<pubDate>Fri, 26 Aug 2005 07:36:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8289</guid>
		<description>Just to say that i liked reading that article and all your comments are very interesting.
Thx Thomas.</description>
		<content:encoded><![CDATA[<p>Just to say that i liked reading that article and all your comments are very interesting.<br />
Thx Thomas.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: vinyl-junkie</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8288</link>
		<dc:creator>vinyl-junkie</dc:creator>
		<pubDate>Fri, 26 Aug 2005 03:01:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8288</guid>
		<description>&lt;blockquote&gt;Unfortunately a lot of hard-to-understand code is, understandably, a result of laziness or unrealistic deadlines.&lt;/blockquote&gt;

You can also add incompetence and incomplete requirements to your list. In my opinion, unrealistic deadlines and incomplete requirements are the biggest reasons for poorly written code.

As a developer, I am often asked to start writing code before the requirements are fully defined. What started out as well-written code rapidly degenerates when requirements are constantly being changed in the middle of coding. That has occasionally resulted in other developers questioning my competence when they look at my code. They have no idea what caused my code to turn out like it did because they weren&#039;t involved in the initial project to see these problems.

Conventional wisdom states that if one adheres to established project management methodology (analysis, then design, then construction), problems such as I have stated can be avoided. However, unrealistic deadlines and incomplete requirements definition force us to shortcut the development process, which often results in poorly written code.</description>
		<content:encoded><![CDATA[<blockquote><p>Unfortunately a lot of hard-to-understand code is, understandably, a result of laziness or unrealistic deadlines.</p></blockquote>
<p>You can also add incompetence and incomplete requirements to your list. In my opinion, unrealistic deadlines and incomplete requirements are the biggest reasons for poorly written code.</p>
<p>As a developer, I am often asked to start writing code before the requirements are fully defined. What started out as well-written code rapidly degenerates when requirements are constantly being changed in the middle of coding. That has occasionally resulted in other developers questioning my competence when they look at my code. They have no idea what caused my code to turn out like it did because they weren&#8217;t involved in the initial project to see these problems.</p>
<p>Conventional wisdom states that if one adheres to established project management methodology (analysis, then design, then construction), problems such as I have stated can be avoided. However, unrealistic deadlines and incomplete requirements definition force us to shortcut the development process, which often results in poorly written code.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Etnu</title>
		<link>http://www.sitepoint.com/blogs/2005/08/25/how-readable-is-your-php/comment-page-1/#comment-8282</link>
		<dc:creator>Etnu</dc:creator>
		<pubDate>Thu, 25 Aug 2005 19:28:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=1168#comment-8282</guid>
		<description>&lt;blockquote&gt;Etnu, do you actually know what you’re talking about? Every single variable in vBulletin is sanitized before output or input. It’s one of the most secure pieces of software available.&lt;/blockquote&gt;

I&#039;ve worked with vBulletin since it first came out, and continue to recommend it as the best forum software out there today to all of my clients / employers. 

However --

I&#039;ve installed it on 8 major websites and dozens of smaller ones. I&#039;ve integrated it with everything under the sun, and constantly had to deal with its shortcomings. If you think it&#039;s one of the most secure pieces of software available, you&#039;ve never used anything but the latest version (which has no known security holes that I&#039;m aware of), and likely never dealt with any other piece of code in your life. Even versions as recent as 3.0.5 had major flaws (question: why should turning on COMMENTS IN OUTPUT be exposing me to a security risk?)

vBulletin is awful, awful software. If it weren&#039;t for the fact that ALL forum software out there is pretty much crap (the forums with good code tends to be feature-poor), it&#039;d never gotten where it is today. Well, the fact that phpBB and IPB suck worse probably helps a bit, too.

Lets not even get started on the developers practice of encouraging &quot;hacks&quot; to accomodate their poor design. Things are improved quite a bit in 3.5, but it&#039;s still sorely lacking. That&#039;s what you get when you have a company more concerned with making sure that every installation is legit than with making sure their software won&#039;t expose the users to potentially major security risks.</description>
		<content:encoded><![CDATA[<blockquote><p>Etnu, do you actually know what you’re talking about? Every single variable in vBulletin is sanitized before output or input. It’s one of the most secure pieces of software available.</p></blockquote>
<p>I&#8217;ve worked with vBulletin since it first came out, and continue to recommend it as the best forum software out there today to all of my clients / employers. </p>
<p>However &#8211;</p>
<p>I&#8217;ve installed it on 8 major websites and dozens of smaller ones. I&#8217;ve integrated it with everything under the sun, and constantly had to deal with its shortcomings. If you think it&#8217;s one of the most secure pieces of software available, you&#8217;ve never used anything but the latest version (which has no known security holes that I&#8217;m aware of), and likely never dealt with any other piece of code in your life. Even versions as recent as 3.0.5 had major flaws (question: why should turning on COMMENTS IN OUTPUT be exposing me to a security risk?)</p>
<p>vBulletin is awful, awful software. If it weren&#8217;t for the fact that ALL forum software out there is pretty much crap (the forums with good code tends to be feature-poor), it&#8217;d never gotten where it is today. Well, the fact that phpBB and IPB suck worse probably helps a bit, too.</p>
<p>Lets not even get started on the developers practice of encouraging &#8220;hacks&#8221; to accomodate their poor design. Things are improved quite a bit in 3.5, but it&#8217;s still sorely lacking. That&#8217;s what you get when you have a company more concerned with making sure that every installation is legit than with making sure their software won&#8217;t expose the users to potentially major security risks.</p>]]></content:encoded>
	</item>
</channel>
</rss>
