翻译:

原文:

40 signs you really are a lousy PHP programmer

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

原作者 Reinhold Weber 的其他文章:

本周热门

其它收藏服务:

Yahoo书签 QQ书签 百度搜藏 Del.icio.us Google书签 和讯网摘 天极网摘 添加到饭否 收客网
--专题: 程序设计语言
--小组: 自动化 PHP

白金译作 40个迹象表明你还是PHP菜鸟

3219个读者 翻译: davidkore...  06/13/2008 原文 引用 双语对照及眉批 字体大小

简介

英文版权归Reinhold    Weber所有,中译文作者yangyang(aka    davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。

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

我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse

你是PHP菜鸟,如果你:

1. 不会利用如phpDoc这样的工具来恰当地注释你的代码
2. 对优秀的集成开发环境如Zend StudioEclipse 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点陋习》,简洁并配有译者注释。




继续阅读
  • 25个顶级PHP模板引擎

    为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出了以下名单: Smarty Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。 Heyes Template...

  • 优化PHP代码的40条建议

    英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHP...

  • 所有PHP程序员都应该知道的五个工具

    在参与了几个大型PHP项目,写了很多PHP代码以后,我发现很多工具可以提高代码质量,简化发布,使得做为PHP开发人员的生涯变得轻松许多。许多这样的工具可能已经为大家所用。但是,由于一些人甚至没有注意到...

  • 加速PHP应用 - 用Xdebug分析你的代码

    面向对象编程越来越流行了,在PHP领域也不例外。所以你选择了合适的设计模式,在最新的framework上开发你的网站,抽象你的数据库访问以至于你都忘了SQL这种东西了。 接下来是什么呢? 当你开始转...

  • PHP 6 的新特性

    介绍PHP 6 的部分新特性

  • 在AMP环境中使用GWT

    1. 简介 1.1 前言 写下这篇文章是因为考虑到有些用户希望在AMP(Apache,MySQL,PHP)环境中使用GWT(Google Web Toolkit)开发动态应用程序。基本想法是写一个非...

  • CakePHP 简明指南

    Cakephp 简明指南

  • PHP测试驱动开发介绍

    PHP测试驱动开发介绍   摘要本文向你介绍测试驱动开发的概念,并用一个简单的示例项目来做示范。 介绍 开发PHP产品有很多不同的方法。我们大多数倾向于从一个简单的脚本开始,逐步向前推进。 或许我们...

相关小组

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
 3.0  |  2 个评分

7条评论    0眉批

  • 1.

    xenox 贡生

    看來我還有10條左右沒達標...
    不過...沒關系...我本來就不是PHP程序員-v-

    06/13/2008

  • 2.

    davidkoree 榜眼 | Blog

    呵呵,原文作者也说了,这40条都是他自己的体会,仅供参考。

    06/13/2008

  • 3.

    xenox 贡生

    =v=其實大部分都是軟件工程,代碼規范上的問題。
    我某位專干PHP的同學一向視代碼規范為無物(沒少給他頭頭說嘴),但誰要在他面前撒野說他PHP菜鳥,誰就等著被他好好羞辱一番吧。

    不過,中國程序員的確有普遍的不重視代碼規范及軟件開發方法的習慣。對外軟件外包情況倒還好些。

    06/13/2008

  • 4.

    xiefei 童生

    这40条能说明是菜鸟..开玩笑..我看是作者自已的理解吧。

    06/17/2008

  • 5.

    薄荷脑 榜眼 | Blog

    随便编了两年多(业余),看了此文突然发现自己超级菜……

    07/21/2008

  • 6.

    nitan2001 童生

    楼主帮帮忙,解释一下,16条中的'硬编码'和‘纯粹’,随便说两句也行。呵呵

    09/11/2008

  • 7.

    davidkoree 榜眼 | Blog

    我是楼主,呵呵

    09/12/2008

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译