PHP新手:如何编写好的代码

时间:2011-07-13 21:21:12

标签: php coding-style

由于许多与PHP相关的问题在这里非常基础,我建议准备一系列提示和技巧。

这可能是一个起点:

  • 检查尽可能多的方法的输入参数(参见assert())。
  • 将所有错误记录到日志文件中,并使用您的管理员后端对其进行可视化(请参阅set_error_handler())。
  • 尽可能多地使用类型提示(请参阅type-hinting
  • 错误级别设置为绝对最大值。然后以这种方式编码,不会出现单个警告(请参阅error_reporting())。
  • 了解PHP 实现和转换数据类型的原因和方式(请参阅type jugglingstring conversions

因此问题是:PHP新手应该做些什么?

UPDATE-1

由于很多人都回顾了这个问题,我强烈建议重新开启。请点击下面的相应链接。

2 个答案:

答案 0 :(得分:5)

测试

您应该更好地测试您的代码,可能正在练习TDD。你可以通过PHPUnit来做到这一点。请记住Uncle Bob's three rules来练习TDD。

  
      
  1. 除非要通过失败的单元测试,否则不允许编写任何生产代码。
  2.   
  3. 您不得再编写任何单元测试,而不是足以使其失败;编译失败就是失败。
  4.   
  5. 您不能再编写足以通过一次失败的单元测试的生产代码。
  6.         

    您必须首先为您的功能编写单元测试   打算写。但是根据规则2,你不能写很多单位   测试。一旦单元测试代码无法编译,或者失败了   断言,你必须停止并编写生产代码。但是按照规则3你   只能编写使测试编译或生成的生产代码   通过,而不是更多。

         

    如果你想到这一点,你就会意识到你根本无法写作   很多代码都没有编译和执行某些东西。   实际上,这确实是重点。我们所做的一切,无论是写作   测试,编写生产代码或重构,我们保留系统   始终执行。运行测试之间的时间是订单   秒或分钟。即使10分钟也太长了。

你应该尝试拥有高code coverage。由于code coverage analyses,PHPUnit也可以xdebugRefactoring code smelly list应该很容易,因为您的测试用例已经存在。

安全

效果

  • 了解并使用APC
  

缓存PHP脚本的编译字节码以避免开销   解析和编译每个请求的源代码(部分或全部   甚至可能永远不会被执行)。为了进一步提高性能,   缓存的代码存储在共享内存中并直接执行   在那里,最小化缓慢的磁盘读取和内存复制的数量   运行时。

  

着名的引文,“我们应该忘记小的效率,比如说   大约97%的时间:过早优化是所有人的根源   Donald Knuth,6也被错误地归咎于邪恶“   Hoare(由Knuth亲自担任),虽然Hoare不承认作者身份。

答案 1 :(得分:2)

  • 了解如何进行跟踪(echoprint_r)。非常宝贵的。
  • 执行数据库查询后检查错误(或者更好:编写自己的查询函数,自动检查这个。或者更好:使用一些库来构建查询)。
  • 了解结果mysql资源,结果集和结果行之间的区别。