摘要:原文来自如果说你想知道一个项目的代码复杂度是什么样子的,我推荐你可以使用和来检测一下。安装也是可以直接全局安装安装完毕之后,可以这样来运行命令分析代码复杂度等待运行结束,用打开就可以查看相对应的结果,大概是这个样子
原文来自:https://www.codecasts.com/blo...
如果说你想知道一个 PHP 项目的代码复杂度是什么样子的,我推荐你可以使用 phploc 和 PhpMetrics 来检测一下。
1.使用 phploc这是一个标准的 composer package,不过我推荐大家可以直接使用 composer 全局安装:
composer global require "phploc/phploc=*"
然后安装完毕,你就可以使用 phploc 命令来检测你的代码复杂度了:
phploc ./app
比如上面这行代码就是检测你的项目中 app/ 目录的代码复杂度;如果是一个 Laravel 的项目的话,大概会是这个样子的结果输出:
phploc 3.0.1 by Sebastian Bergmann. Directories 14 Files 72 Size Lines of Code (LOC) 3748 Comment Lines of Code (CLOC) 790 (21.08%) Non-Comment Lines of Code (NCLOC) 2958 (78.92%) Logical Lines of Code (LLOC) 950 (25.35%) Classes 656 (69.05%) Average Class Length 9 Minimum Class Length 0 Maximum Class Length 84 Average Method Length 2 Minimum Method Length 0 Maximum Method Length 21 Functions 0 (0.00%) Average Function Length 0 Not in classes or functions 294 (30.95%) Cyclomatic Complexity Average Complexity per LLOC 0.10 Average Complexity per Class 2.33 Minimum Class Complexity 1.00 Maximum Class Complexity 15.00 Average Complexity per Method 1.41 Minimum Method Complexity 1.00 Maximum Method Complexity 6.00 Dependencies Global Accesses 0 Global Constants 0 (0.00%) Global Variables 0 (0.00%) Super-Global Variables 0 (0.00%) Attribute Accesses 436 Non-Static 436 (100.00%) Static 0 (0.00%) Method Calls 570 Non-Static 412 (72.28%) Static 158 (27.72%) Structure Namespaces 15 Interfaces 0 Traits 0 Classes 72 Abstract Classes 0 (0.00%) Concrete Classes 72 (100.00%) Methods 233 Scope Non-Static Methods 226 (97.00%) Static Methods 7 (3.00%) Visibility Public Methods 194 (83.26%) Non-Public Methods 39 (16.74%) Functions 24 Named Functions 0 (0.00%) Anonymous Functions 24 (100.00%) Constants 0 Global Constants 0 (0.00%) Class Constants 0 (0.00%)
不过你可能也感觉到,这个 phploc 的一大不便之处就是,目前来说,他还不能把相关的测试结果可视化或者说自定义检测的最高复杂度。所以,PhpMetrics 就应运而生了。
使用 PhpMetrics首先需要说明的是,PhpMetrics 可以更深入到你的代码中,并且会生成一个 html 文件作为分析的结果,这样我们查看检测结果就会非常的直观。
安装 PhpMetrics 也是可以直接 composer 全局安装:
composer global require "phpmetrics/phpmetrics"
安装完毕之后,可以这样来运行命令分析代码复杂度:
phpmetrics --report-html=report.html ./app
等待 phpmetrics 运行结束,用 Chrome 打开 report.html 就可以查看相对应的结果,大概是这个样子:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/23056.html
摘要:类型检测类型检测也是一种让代码简洁的小技巧。上文中,我们只是尝试搜集了一些例子,在这些例子里,你只需做出一点小的努力,就可以让你的代码变得更好更简洁。 showImg(https://segmentfault.com/img/remote/1460000013847223); 保持代码简洁和高可读性远远要比我们想象的要难,有时候甚至比持续架构设计都要难。这里收集了一些可能对你重构代码有...
摘要:文章转自背景在安全测试中最单调乏味的任务之一就是检查不安全的配置项。在下文中,该脚本被称作安全配置项检查器,或者。保障措施大多数情况下,最好是自己来关注与安全性相关的问题比如的配置。脚本已实现下列保障措施检查脚本在非环境中只能工作两天。 showImg(https://segmentfault.com/img/remote/1460000018912228); 文章转自:https:/...
摘要:源码分析开门篇生命周期入口文件用户发起的请求都会经过应用的入口文件,通常是文件。注册错误和异常机制执行注册错误和异常处理机制。由三部分组成应用关闭方法错误处理方法异常处理方法注册应用关闭方法是为了便于拦截一些系统错误。 源码分析—开门篇 thinkphp生命周期 1、入口文件 用户发起的请求都会经过应用的入口文件,通常是 ==public/index.php==文件。当然,你也可以更改...
摘要:安全生成安全的随机数,加密数据,扫描漏洞的库一个兼容标准的过滤器一个生成随机数和字符串的库使用生成随机数的库一个安全库一个纯安全通信库一个简单的键值加密存储库一个结构化的安全层一个试验的面向对象的包装库一个扫描文件安全的库 Security 安全 生成安全的随机数,加密数据,扫描漏洞的库 HTML Purifier-一个兼容标准的HTML过滤器 RandomLib-一个生成随机数和字...
阅读 1836·2021-10-12 10:12
阅读 3036·2019-08-30 15:44
阅读 830·2019-08-30 15:43
阅读 2980·2019-08-30 14:02
阅读 2058·2019-08-30 12:54
阅读 3479·2019-08-26 17:05
阅读 1928·2019-08-26 13:34
阅读 1032·2019-08-26 11:54