转自:http://blog.sina.com.cn/s/blog_52d20fbf0100owpi.html
四十条测试你是否合格的PHP程序员,不官方,也不权威,但很给力。超过三条就不合格了。超过五条就得好好反省下自己的不足了。
不会利用如phpDoc这样的工具来恰当地注释你的代码
对优秀的集成开发环境如 EclipsePHP EPP 或 Zend Studio PDT视而不见
从未用过任何形式的版本控制系统,如Subclipse
不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实
不使用统一开发方式
不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函数)
不在编码之前彻底规划你的程序
不使用测试驱动开发
不在错误开启状态下进行编码和测试(译注:参考PHP函数error_reporting)
对调试器的好处视而不见
不重构你的代码
不使用类似MVC模式把程序的不同层次划分开
不知道这些概念:KISS, DRY, MVC, OOP, REST
不用return而是直接在你的函数或类中输出(echo/print)内容
对单元测试或通用测试的优点视而不见
总是返回硬编码的HTML,却不返回纯粹的数据,字符串,或对象
总是对“消息”和“配置参数”进行硬编码
不对SQL查询语句做优化
不使用__autoload(译注:参考PHP手册相关描述)
不允许智能错误处理(译注:参考PEAR的ErrorStack)
使用$GET替代$POST来做具有破坏性的传递操作
不知道怎么利用正则表达式
从未听说过SQL注入或跨站脚本
不允许简易配置,也不允许类的构造函数接受参数传递而后执行set/get方法,或运行时的常量定义
不理解面向对象编程(OOP)的优势和劣势
不视情形大小而滥用OOP
自认为实现可复用的软件一定等于/需要让你的代码遵循OOP
不利用智能缺省值
没有单一的配置文件
不想暴露文件源码,却用.inc后缀名取代了.php
不使用数据库抽象层
不能保持DRY作风,即不重复自己,如果你总是在复制粘贴一些东西,说明你设计得很差劲
没有实现让一个函数/类/方法只做一件事,也不能组合利用它们
没能尝试OOP的特长,如抽象类、接口、多态、继承,访问控制修饰符(译注:如public, private, protected)
不用现有的设计模式优化你的程序体系设计
不允许你的用户在你拥有很多文件或目录的情况下定义基础目录
37. 污染了名称空间,比如用常见字符串命名你的库函数
使用数据库表时不使用表前缀
不使用统一的模板引擎
不关注已有的PHP开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中。