<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[40个迹象表明你还是PHP菜鸟]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 02 Dec 2008 13:06:51 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	简介<br/>英文版权归Reinhold&nbsp;&nbsp;&nbsp;&nbsp;Weber所有，中译文作者yangyang（aka&nbsp;&nbsp;&nbsp;&nbsp;davidkoree）。双语版可用于非商业传播，但须注明英文版作者、版权信息，以及中译文作者。翻译水平有限，请广大PHPer指正。<br/><br/>40个迹象表明你还是PHP菜鸟<br/><br/>我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中，接触到软件工程、企业级软件架构和数据库设计，但我还是时不时地体会到下述事实带给我的“罪恶”感，当然，都是我的主观感受，并且面向Eclipse：<br/><br/>你是PHP菜鸟，如果你：<br/><br/><br/>1. 不会利用如phpDoc这样的工具来恰当地注释你的代码<br/>2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见<br/>3. 从未用过任何形式的版本控制系统，如Subclipse<br/>4. 不采用某种编码与命名标准，以及通用约定，不能在项目开发周期里贯彻落实<br/>5. 不使用统一开发方式<br/>6. 不转换（或）也不验证某些输入或SQL查询串（译注：参考PHP相关函数）<br/>7. 不在编码之前彻底规划你的程序<br/>8. 不使用测试驱动开发<br/>9. 不在错误开启状态下进行编码和测试（译注：参考PHP函数error_reporting）<br/>10. 对调试器的好处视而不见<br/>11. 不重构你的代码<br/>12. 不使用类似MVC模式把程序的不同层次划分开<br/>13. 不知道这些概念：KISS, DRY, MVC, OOP, REST<br/>14. 不用return而是直接在你的函数或类中输出（echo/print）内容<br/>15. 对单元测试或通用测试的优点视而不见<br/>16. 总是返回硬编码的HTML，却不返回纯粹的数据，字符串，或对象<br/>17. 总是对“消息”和“配置参数”进行硬编码<br/>18. 不对SQL查询语句做优化<br/>19. 不使用__autoload（译注：参考PHP手册相关描述）<br/>20. 不允许智能错误处理（译注：参考PEAR的ErrorStack）<br/>21. 使用$_GET替代$_POST来做具有破坏性的传递操作<br/>22. 不知道怎么利用正则表达式<br/>23. 从未听说过SQL注入或跨站脚本<br/>24. 不允许简易配置，也不允许类的构造函数接受参数传递而后执行set/get方法，或运行时的常量定义<br/>25. 不理解面向对象编程（OOP）的优势和劣势<br/>26. 不视情形大小而滥用OOP<br/>27. 自认为实现可复用的软件一定等于/需要让你的代码遵循OOP<br/>28. 不利用智能缺省值<br/>29. 没有单一的配置文件<br/>30. 不想暴露文件源码，却用.inc后缀名取代了.php<br/>31. 不使用数据库抽象层<br/>32. 不能保持DRY作风，即不重复自己，如果你总是在复制粘贴一些东西，说明你设计得很差劲<br/>33. 没有实现让一个函数/类/方法只做一件事，也不能组合利用它们<br/>34. 没能尝试OOP的特长，如抽象类、接口、多态、继承，访问控制修饰符（译注：如public, private, protected）<br/>35. 不用现有的设计模式优化你的程序体系设计<br/>36. 不允许你的用户在你拥有很多文件或目录的情况下定义基础目录<br/>37. 污染了名称空间，比如用常见字符串命名你的库函数<br/>38. 使用数据库表时不使用表前缀<br/>39. 不使用统一的模板引擎<br/>40. 不关注已有的PHP开发框架，懒于探索；其实先进的开发理念和美妙代码就蕴含其中。简介<br/>英文版权归Reinhold&nbsp;&nbsp;&nbsp;&nbsp;Weber所有，中译文作者yangyang（aka&nbsp;&nbsp;&nbsp;&nbsp;davidkoree）。双语版可用于非商业传播，但须注明英文版作者、版权信息，以及中译文作者。翻译水平有限，请广大PHPer指正。<br/><br/>40个迹象表明你还是PHP菜鸟<br/><br/>我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中，接触到软件工程、企业级软件架构和数据库设计，但我还是时不时地体会到下述事实带给我的“罪恶”感，当然，都是我的主观感受，并且面向Eclipse：<br/><br/>你是PHP菜鸟，如果你：<br/><br/><br/>1. 不会利用如phpDoc这样的工具来恰当地注释你的代码<br/>2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见<br/>3. 从未用过任何形式的版本控制系统，如Subclipse<br/>4. 不采用某种编码与命名标准，以及通用约定，不能在项目开发周期里贯彻落实<br/>5. 不使用统一开发方式<br/>6. 不转换（或）也不验证某些输入或SQL查询串（译注：参考PHP相关函数）<br/>7. 不在编码之前彻底规划你的程序<br/>8. 不使用测试驱动开发<br/>9. 不在错误开启状态下进行编码和测试（译注：参考PHP函数error_reporting）<br/>10. 对调试器的好处视而不见<br/>11. 不重构你的代码<br/>12. 不使用类似MVC模式把程序的不同层次划分开<br/>13. 不知道这些概念：KISS, DRY, MVC, OOP, REST<br/>14. 不用return而是直接在你的函数或类中输出（echo/print）内容<br/>15. 对单元测试或通用测试的优点视而不见<br/>16. 总是返回硬编码的HTML，却不返回纯粹的数据，字符串，或对象<br/>17. 总是对“消息”和“配置参数”进行硬编码<br/>18. 不对SQL查询语句做优化<br/>19. 不使用__autoload（译注：参考PHP手册相关描述）<br/>20. 不允许智能错误处理（译注：参考PEAR的ErrorStack）<br/>21. 使用$_GET替代$_POST来做具有破坏性的传递操作<br/>22. 不知道怎么利用正则表达式<br/>23. 从未听说过SQL注入或跨站脚本<br/>24. 不允许简易配置，也不允许类的构造函数接受参数传递而后执行set/get方法，或运行时的常量定义<br/>25. 不理解面向对象编程（OOP）的优势和劣势<br/>26. 不视情形大小而滥用OOP<br/>27. 自认为实现可复用的软件一定等于/需要让你的代码遵循OOP<br/>28. 不利用智能缺省值<br/>29. 没有单一的配置文件<br/>30. 不想暴露文件源码，却用.inc后缀名取代了.php<br/>31. 不使用数据库抽象层<br/>32. 不能保持DRY作风，即不重复自己，如果你总是在复制粘贴一些东西，说明你设计得很差劲<br/>33. 没有实现让一个函数/类/方法只做一件事，也不能组合利用它们<br/>34. 没能尝试OOP的特长，如抽象类、接口、多态、继承，访问控制修饰符（译注：如public, private, protected）<br/>35. 不用现有的设计模式优化你的程序体系设计<br/>36. 不允许你的用户在你拥有很多文件或目录的情况下定义基础目录<br/>37. 污染了名称空间，比如用常见字符串命名你的库函数<br/>38. 使用数据库表时不使用表前缀<br/>39. 不使用统一的模板引擎<br/>40. 不关注已有的PHP开发框架，懒于探索；其实先进的开发理念和美妙代码就蕴含其中。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 40个迹象表明你还是PHP菜鸟]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>