Churn PHP 是一个命令行工具,用来帮助你找到需要重构的PHP文件。Churn会检查你提供的路径中的文件并且:
- 检查单个文件提交次数
- 计算循环复杂度(cyclomatic complexity)
- 基于以上两个值计算一个评分
查阅Churn 的 GitHub项目里的README文件, Churn 将会查找符合以下标准的文件,并以表格的格式报告复杂度和评分:
一个有过很多次修改且复杂度较高的文件比很少修改且复杂度不高的文件来说更有可能是需要重构的文件。
churn-php 只协助发开者去识别需要重构的文件。除了你的判断,你最好使用这些结果来决定要重构哪些文件。
命令行下的主要用法如下所示:
$ composer require bmitch/churn-php --dev
# Specify one path
$ vendor/bin/churn run path/to/files/
# Specify multiple paths
$ vendor/bin/churn run path/one/ path/two/
您还可以使用churn.yml文件为Churn PHP提供配置。您可以定义要忽略的文件,需要关注的的最低评分,以及关注文件更改频率时需要从提交历史记录中找多长时间的记录:
# 在结果表中显示多少个文件
# 默认值: 10
filesToShow: 10
# 需要显示到结果中的最小分数
# 默认值: 0
minScoreToShow: 0
# 处理文件时启用几个并发任务
# 默认值 10:
parallelJobs: 10
# 在Git 提交历史中从多久前开始计算提交的次数
# 可以是 'One week ago' 或者 '2017-07-12' 这样易读的时间格式
# 默认值 '10 Years ago'
commitsSince: One year ago
# 处理时需要被忽略的文件,需要文件相对于项目根目录的完整路径.
# 默认值: 所提供的目录下的所有 php 文件都将被处理
filesToIgnore:
- src/Commands/ChurnCommand.php
- src/Results/ResultsParser.php
使用这个包有以下几点需要注意的:它只支持 php7 以上的版本,并且目前不能运行在 windows 的命令行下。
我在我的一些代码库中运行了 Churn-PHP, 它启发了我哪些文件应该考虑被重构。 拿到结果后,它让我知道根据结果我应该重构哪几个文件。在你的代码库上试试它,我想象你会喜欢。
在github 仓库中获取更完整的说明。
转载请注明:大后端 » 使用 Churn PHP 找到需要重构的代码