避免糟糕的PHP编码

避免糟糕的PHP编码,php,Php,有很多关于php的书籍和教程彼此完全不同 我怎样才能选择正确的方式?唯一的方法是使用xdebug、phpUnit或benchmark进行测试吗 一般最佳做法 由于代码质量/可读性/可维护性无法“基准测试”,我建议阅读有关正确代码结构和最佳实践的书籍 也许是史蒂夫·麦康奈尔的《代码完成》书 考虑使用合适的模式和框架 还值得一提的是,使用定义良好的模式(如MVC)并使用框架(如)构建项目,因为这将鼓励您将每段代码放在它所属的位置。 获得经验。一旦您用instanceof的switch语句更改了几次,

有很多关于php的书籍和教程彼此完全不同

我怎样才能选择正确的方式?唯一的方法是使用xdebug、phpUnit或benchmark进行测试吗

一般最佳做法 由于代码质量/可读性/可维护性无法“基准测试”,我建议阅读有关正确代码结构和最佳实践的书籍

也许是史蒂夫·麦康奈尔的《代码完成》书

考虑使用合适的模式和框架 还值得一提的是,使用定义良好的模式(如MVC)并使用框架(如)构建项目,因为这将鼓励您将每段代码放在它所属的位置。

  • 获得经验。一旦您用instanceof的switch语句更改了几次,您就会看到多态性的优点
  • 保持对自己代码的批判性思考。不断思考你是如何解决问题的,并对其他方法持开放态度
  • 读代码。不幸的是,大多数PHP代码都不是编写代码的好例子,但您将从中学习到一些东西

  • 读一本书。一本书通常比互联网上的任何文章都更深入和详细

    • xdebug
      是一个非常强大的工具,可以为您提供很多帮助。

      您将能够在您的开发服务器(而不是理想的服务器)中看到您的代码发生了什么

      下载著名的开源项目或框架,如Zend。然后通读一些代码,看看它们是如何处理常见任务的,以及它们使用的一般结构。

      看看幻灯片和中给出的工具


      免责声明:我与Sebastian Bergmann或Theppp.cc无关-它们恰好对PHP世界中的代码质量主题产生了重大影响,这就是我建议使用此链接的原因。

      如果您想改进PHP代码,这里有几点建议:

      • 不要使用过程编程,使用oo
      • 使用一些框架,比如kohana
      • 每次都要使用模式
      • 阅读一些关于java oo编程的书籍(好书:开始java对象2版) 这是另一种语言,java教授好的oo代码和模式
      • 不要使用圈复杂度>20的函数
      • 大多数程序员使用复杂的层次关联数组。它们很难维护。避免使用复杂的关联数组结构作为DTO,尝试使用类
      • 使用锥形标准
      • 测试驱动开发,单元测试。如果您的代码可以通过单元测试进行测试,那么您就向好的代码迈进了一步。持续集成总是受欢迎的,但在php中并不总是合适的,这取决于您要取消的代码和库
      • 使用mvc,您的体系结构中的层
      • 还有很多想法,但要坚持阅读,不断提高

      问候

      倾听你的心声。我的心和耳朵有问题。我只能读和写:DI退缩,走完全避免PHP的简单道路。一起避免PHP?哦,还有+100000 Ignacio。“读一本书。一本书通常比互联网上的任何文章都更深入和详细。”:有很多关于php的书和教程彼此完全不同。如何选择正确的方式?这个“理想服务器”是关于什么的?有没有其他工具可以模拟一个理想的服务器?不可能总是有一个服务器具有尖端的CPU、内存、硬盘、软件等。。。这就是我所说的“理想服务器”。具有以上所有功能的服务器!是否有任何开源项目可以支持高流量?(比如新闻门户?),thanks@Bakkal感谢您的更正,我真的不应该回答手机上的问题:)可伸缩性是一个相当复杂的问题,是良好编码和硬件的混合体。我建议阅读一些关于高可用性和可扩展性的文章,以了解更多信息。事实并非如此。代码质量/可读性/可维护性在很大程度上可以进行基准测试。请参阅我的PHP QA工具链接。此外,框架也不能保证代码正确。框架可以解决某些问题。如果您没有这些问题,就不需要框架。我浏览了有趣的幻灯片和工具。通过
      我如何选择正确的方式?
      我知道他不是在寻找指标,而是如何以“正确的方式”使用软件。我不能建议编写软件,在每次迭代中运行“基准测试”,并在指标显示时停止。其中一些工具依赖于“代码错误”和众所周知的反模式,如重复和死代码。坏的“基准”分数很可能表明软件结构不好,而另一个方向的可能性要小得多。正确的研究和设计是不可替代的。当然,这些工具只表明某件事是否有问题。开发人员仍然需要学习如何改进自己的编码。但是,如果开发人员了解这些指标,那么她已经在这方面迈出了很好的一步。事实上,经常针对代码运行这些工具是一种常见的做法。像hudson或phpundercontrol这样的持续集成服务器将为您做到这一点。