40个迹象表明你还是PHP菜鸟

 更新时间:2008年09月29日 20:18:26   作者:  
英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。
我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse:

你是PHP菜鸟,如果你:


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



译注:另有马永占翻译版本《PHP程序员的40点陋习》,简洁并配有译者注释。

相关文章

  • PHP多个版本的分析解释

    PHP多个版本的分析解释

    最近发现很多PHP程序员对PHP版本知识了解不是很清楚,其中不乏PHP产品主力开发人员。
    2011-07-07
  • 服务器web工具 php环境下

    服务器web工具 php环境下

    服务器web工具,这里都是一些php环境中,经常用到的一些性能优化加速软件。
    2010-12-12
  • PHP 开源框架22个简单简介

    PHP 开源框架22个简单简介

    PHP 是一个被广泛使用的来进行Web开发的脚本语言。虽然有很多其它可供选择的Web开发语言,像:ASP 和Ruby,但是PHP是目前为止世界上最为流行的。
    2009-08-08
  • PHP中的CMS的涵义

    PHP中的CMS的涵义

    PHP中的CMS的涵义...
    2007-03-03
  • 测试您的 PHP 水平的题目

    测试您的 PHP 水平的题目

    测试您的 PHP 水平的题目...
    2007-05-05
  • 理解和运用PHP中的多态性[译]

    理解和运用PHP中的多态性[译]

    在面向对象编程,多态性是一个强大的和基本的工具。它可以用来在您的应用程序建立一个更有机的流。本教程将介绍多态性的笼统的概念,以及它如何在PHP中可以很容易地部署。
    2011-08-08
  • Parse正式发布开源PHP SDK

    Parse正式发布开源PHP SDK

    Facebook 在去年四月收购的Parse今天发布了其第一个开源的 PHP SDK,让开发者可以基于这个 SDK 做服务器端的二次开发。这次发布的 PHP 脚本功能包括储存数据,管理用户,推送消息,用户行为追踪等,开发者可以将代码整合进自己现有的 PHP 脚本里。
    2014-08-08
  • awk简介与学习笔记收集

    awk简介与学习笔记收集

    Awk学习笔记 整理:Jims of 肥肥世家 <jims.yang@gmail.com>
    2008-04-04
  • PHP程序员基本要求和必备技能

    PHP程序员基本要求和必备技能

    这篇文章主要介绍了PHP程序员基本要求和必备技能,这是一篇老文章了,需要的朋友可以参考下
    2014-05-05
  • PHP 已经成熟

    PHP 已经成熟

    这篇文章主要介绍了PHP 已经成熟
    2006-12-12

最新评论