问题标签 [phpmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
composer-php - phpcpd、phpmd、php_codesniffer 等工具的最佳位置是什么
对于 phpcpd、phpmd、php_codesniffer 等工具,将它们包含在 composerrequire-dev
部分或作为phar
存档安装在系统中的某个位置的最佳位置是什么?
当它们包含在 require-dev 中时,由于项目中的一些旧组件,通常无法更新新版本。如果安装为phar
,则更难跟踪此工具的版本,也更难检查这些工具是否已安装。
php - “$id”类属性名称是否太短?
当用作对象的属性时,例如 User::id 或 File::id,我认为名称“id”非常有意义。然而 PHP Mess Detector 抱怨:
避免使用像 $id 这样的短名称的变量。
我知道, $id 作为局部变量的描述性不够,但类或对象名称应该提供足够的上下文。
如果“id”太短是有原因的,那么命名对象标识符变量的正确方法是什么?为什么?
phpmd - 用于测试的 PHPMD 和 PHPCS Camelcase
现在,我想对它们进行一些定制,但似乎无法实现。
我收到 2 个我想为我的所有项目删除的警告:
- phpcs:公共方法名称
MyTests::my_test_that_should_pass
不是驼峰大写格式 - phpmd:该方法
my_test_that_should_pass
不是驼峰式的
使用 PHPMD,我尝试更改 :.composer/vendor/phpmd/phpmd/src/main/resources/rulesets/controversial.xml
并设置allow-underscore-test
为此处true
提到的
使用 PHPCS,我真的不知道该怎么做。
任何想法???
php - 永远不需要 else ,您可以简化代码以在没有 else 的情况下工作
我收到一条 PHPMD 的消息告诉我:
else 从来都不是必需的,您可以在这部分代码上简化代码以使其在没有 else 的情况下工作:
我的问题是:我应该如何避免 else()。我看到的唯一方法是复制$setting->save()
并返回。
任何想法?
php - 应该如何删除其他块
PHPMD 告诉我,我应该在这个测试中避免 else 阻塞,但在这种情况下,我找不到删除它们的方法。
这是代码:
任何想法???
php - PhpStorm phpmd 自定义规则集
我做了以下
- 下载 PHP Mess Detector 插件
- 选择一个 PHP 解释器(语言和框架 -> PHP -> CLI 解释器
- 确保我的 Mess Detector 插件设置正确并分配了解释器,安装了 phpmd。(Languages & Frameworks -> PHP -> Mess Detector -> Configuration -> 点击 ... -> 点击 Validate
但是当我转到 Languages & Frameworks -> PHP -> Inspections -> PHP Mess Detector validation 并尝试添加自定义规则集时,我收到以下消息:
“当前解释器不支持自定义规则”
phpstorm - PHPMD 不工作规则 ShortVariable 并忽略 TooManyFields
谁能告诉我为什么在 PHPSTORM 2017.1 和 PHPMD 2.6.0 下某些配置选项不起作用:
- 短变量
PhpStorm 标记变量
作为“配置的最小长度为 3”
- 忽略字段 TooManyFields
PhpStorm 显示:“X 类有 21 个字段。考虑提高 X 以保持字段数低于 15”。我搜索并看到了很多文章,但没有一篇适合我。
php - switch/cases 和 in_array 之间的圈复杂度差异
设想
我需要检查我的$type_id
变量是否是一组特定 ID 之一。
除了可读性之外,没有其他原因,我选择了
其中大多数会级联为常见情况。
但这增加了圈复杂度,以至于 PHPMD 开始抱怨。
所以我想,让我们用它in_array()
来代替。
问题
至此 PHPMD 停止抱怨,但圈复杂度不仍然存在,只是隐藏在in_array()
函数后面吗?
php - 在 phpmd 中为规则设置例外
我正在尝试为 phpmd 中的规则设置一个例外,以允许一个特定的函数名称长度仅为 2 个字符
以前的phpmd.xml.dist
文件非常愉快地工作:
我已经添加了一个条目rulesets/naming.xml/ShortMethod
,所以它现在看起来像:
但是现在当我尝试运行它时出现以下错误:
phpmd 是 2.6.0 版
php - Ubuntu 16 上的代码嗅探器问题 - 安装 pfff
我正在尝试在我的 Ubuntu 16.04 上设置 PHPCS、PHPMD 我按照这些说明进行操作,但我在安装 pfff 时遇到了困难
现在当我安装 pfff
它给了我错误
我也去了 .config 文件夹,但没有 git 文件夹。虽然忽略了警告,但我执行了下一步,但它显示 .configure 文件未找到。然后我忽略了所有错误并开始 sublime 并完成了 phpcs 设置
在崇高它给了我另一个错误
有什么建议吗?