重复的代码是不好的,每个人都知道。有时我们错误地创建了这样的代码,我们从来没有注意到它。有时我们这样做是因为我们懒惰。最好是配备一个工具,它可以在构建时提示这个问题。PHPCPD - PHP复制/粘贴检测器。

通过运行以下命令来安装它:$ php composer.phar require --dev sebastian/phpcpd

然后将目标添加到build.xml:

...

在vendor目录上运行的重复代码检查的示例输出:phpcpd 4.0.0 by Sebastian Bergmann.

Found 74 clones with 2929 duplicated lines in 97 files:- /home/maciej/workspace/php-testing/vendor/phpspec/phpspec/src/PhpSpec/Matcher/TriggerMatcher.php:81-102

/home/maciej/workspace/php-testing/vendor/phpspec/phpspec/src/PhpSpec/Matcher/TriggerMatcher.php:114-135- /home/maciej/workspace/php-testing/vendor/squizlabs/php_codesniffer/src/Reports/Full.php:81-114

/home/maciej/workspace/php-testing/vendor/squizlabs/php_codesniffer/src/Reports/Code.php:162-195(...)6

想要真正深入的代码分析?如果你从头开始你的项目,你应该看看Phan - 它是一个非常强大的代码分析器,它会让你的代码变得漂亮。在https://github.com/phan/phan上查看。安装非常简单 - 只需安装php-ast扩展(在Ubuntu中,您可以尝试运行sudo apt-get install php-ast)并运行:$ php composer.phar require --dev phan/phan

然后创建一个配置文件 .phan/config.php 内容为:<?phpreturn  [    'target_php_version' => '7.1',    'directory_list' => [        'src',        'vendor/symfony/console',

],    "exclude_analysis_directory_list" => [        'vendor/'

],

];

在build.xml文件中也创建phan目标:

...

现在,您可以运行您的代码分析,如果您犯了错误(例如……为类属性声明错误的phpdoc类型),您应该看到这样的消息:MyProject > phan:src/Domain/PriceComparator.php:17 PhanTypeMismatchProperty Assigning \Domain\PriceConverter to property but \Domain\PriceComparator::priceConverter is intsrc/Domain/PriceComparator.php:35 PhanNonClassMethodCall Call to method convert on non-class type int

Phan很神奇 - 它读取你的整个代码并对它执行多次检查,包括将phpdoc声明与实际使用变量、方法、类等进行比较,你可以查看https://github.com/phan/phan#features的所有特征列表。

php代码质量怎么提高,如何提高PHP代码的质量?第一部分 自动化工具相关推荐

  1. 如何提高PHP代码的质量?第一部分 自动化工具

    女主宣言 说实话,在代码质量方面,PHP的压力非常大.通过阅读本系列文章,您将了解如何提高PHP代码的质量. PS:丰富的一线技术.多元化的表现形式,尽在"HULK一线技术杂谈", ...

  2. 提高工作效率,改善生活质量

    有朋友跟我说工作一直很忙,而且老板给的工作越来越多,都忙不过来,天天忙得要死.其实这也不是个别情况,很多人有这种抱怨,但抱怨是无济于事的,应该考虑造成这种情况的原因,并设法解决. 首先,工作量是不是很 ...

  3. java项目怎样提高性能_从代码的角度谈如何优化JAVA代码以提高性能【初、中级程序员必看】...

    最近复习Java基础感触颇深,同样是几行代码,别人写的运行效率就很大,自己写的就不是那么随意,这就牵扯到代码的性能优化问题,这个问题在初级阶段往往没有引起太多的重视,导致后来的工作中就没有往优化这个角 ...

  4. 一行代码让 Python 的运行速度提高100倍

    python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. "一行代码让python的运行速度提高100倍" ...

  5. 大学计算机课程教学,提高大学生计算机基础课程教学质量的策略

    [摘 要]从教学目标定位.教学内容优化.教学案例选取.教学过程实施.网络教学平台搭建.教学团队建设等七方面论述提高计算机基础课程教学质量的有效策略. [关键词]计算机基础课程 提高教学质量 策略 [中 ...

  6. 卧槽!一行代码让 Python 的运行速度提高100倍

    python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. "一行代码让python的运行速度提高100倍" ...

  7. 一行代码让Python的运行速度提高100倍

    python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. "一行代码让python的运行速度提高100倍" ...

  8. python jit_牛掰的numba库jit模块:一行代码让 Python 的运行速度提高100倍

    python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. "一行代码让python的运行速度提高100倍" ...

  9. 商品管理c语言结题思路,提高大学专业课程和教材质量的思考——以哈尔滨工业大学“C语言程序设计”国家精品课程为例.pdf...

    口信息化教 毫 {y jj1{jlnf·ffT1_l:t)n c}:,j0(』 叠 f }}r - - 2013年5,51:ElJ 提高大学专业课程和教材质量里I的=I..j卷思考 - - 以哈尔滨工 ...

最新文章

  1. count(1)、count(*) 与 count (列名) 的执行区别
  2. 源码分析 @angular/cdk 之 Portal
  3. 一文概览深度学习中的五大正则化方法和七大优化策略
  4. Arm官宣V9架构,用AI和安全对抗英特尔,最快今年年底用上
  5. 惠普800g1支持什么内存_惠普黑白激光打印机哪种好 惠普黑白激光打印机推荐【图文详解】...
  6. android显示网络图片控件,Android控件之ImageView(二)
  7. linux控制器错误码,ubuntu – 不频繁的输入/输出错误 – Linux服务器
  8. java中osend,如何从java o javafx向windows任务栏发送信息
  9. 天翼云从业认证(4.3)视频监控云存储解决方案
  10. Excel选择某单元格整行变色是这样做的
  11. Window Mobile map solutions
  12. 2021全新整合单机游戏 PC电脑版中文合集系列下载持续更新
  13. 永恒之蓝漏洞攻击完整步骤
  14. drbd+keepalived nfs高可用方案实践
  15. Verilog——Chipscope简单实用的使用方法(基于ISE14.7 )
  16. Google Earth Engine(GEE)下载全球土壤砂粒(Sand)含量数据
  17. 魔力鸭linux驱动下载,驱动软件 RGB背光键盘最佳伴侣_魔力鸭 2108 S2 RGB全彩自定义机械键盘_键鼠评测-中关村在线...
  18. 三 数据分析基础 -关于统计学
  19. Java免费学习视频下载
  20. 打一句英文句子,找出其中最长的单词

热门文章

  1. mybatis学习(17):列名与属性名不一致的情况(使用别名)
  2. 第七十八期:2019全球程序员薪酬报告:软件开发比机器学习抢手!40岁后收入下滑
  3. 计算机操作系统(7):进程的基本概念
  4. STM32F407 CubeMx使用定时器测量信号频率 分辨率0.001Hz
  5. 重庆邮电计算机科学分数线,2020重庆邮电大学录取分数线已公布
  6. 剑指offer--斐波那契数列
  7. Windows10远程报错:由于CredSSP加密Oracle修正
  8. C语言数组初始化的问题
  9. 12.18栈、队列练习题
  10. 【2016.11.17】HTML学习笔记第二天