gpt4 book ai didi

PHPMD - 包含整个规则集并配置属性

转载 作者:可可西里 更新时间:2023-11-01 00:43:25 26 4
gpt4 key购买 nike

我正在使用 PHPMD ( http://phpmd.org/ ),对此我还很陌生。MD 有效,我现在正在编写一个规则集来配置应使用的指标。我没有单独包含每个规则,而是加载了整个规则集。但是现在我有一个问题,如果我包含整个集合,我不知道如何配置单个规则的属性。

比如我想用规则来检查圈复杂度。我可以用

<?xml version="1.0"?>
<ruleset name="Demo PHPMD rule set"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description> custom ruleset that checks the code </description>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="11" />
</properties>
</rule>
</ruleset>

但是如果我想使用该规则集中的所有规则,我可以简单地写

<?xml version="1.0"?>
<ruleset name="Demo PHPMD rule set"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description> custom ruleset that checks the code </description>
<rule ref="rulesets/codesize.xml" />
</ruleset>

现在,当我包含整个规则集时,如何使用属性的配置(在我的例子中是圈复杂度的 reportLevel)?我试过类似的东西

[...]
<rule ref="rulesets/codesize.xml">
<properties>
<property name="CyclomaticComplexity.reportLevel" value="11" />
</properties>
</rule>
[...]

但这没有用。我在文档中进行了搜索,但从未在任何地方找到这方面的示例。

最佳答案

我发现实现此目的的唯一方法是使用 exclude 元素,包括规则集中除您要自定义的规则之外的所有规则,然后单独包括它。

<?xml version="1.0"?>
<ruleset name="Demo PHPMD rule set"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description> custom ruleset that checks the code </description>
<rule ref="rulesets/codesize.xml">
<exclude name="CyclomaticComplexity"/>
</rule>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="11" />
</properties>
</rule>
</ruleset>

关于PHPMD - 包含整个规则集并配置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27173711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com