用exakat建立自己的规则集

用exakat建立自己的编码参考

使用exakat审核PHP代码时,总有问题比修复它们更多的问题。有时间从审计的代码中学习,并将时间专注于修复。他们两个都有自己的规则集。

exakat提供了几种方法,可以在现有的数千金沙上线中进行选择。默认情况下,它专注于一般集合,为全面的大使报告量身定制。当您累积与代码的经验时,您’ll想要应用自定义列表。

有几种方法可以使用exakat构建自己的编码参考:

  • 运行预定义的金沙上线
  • 创建自己的规则集

运行预定义的规则集

在exakat中有几个套装。您可以在手册中找到一个文档列表: 食谱列表.

每个规则集是几个单独金沙上线的集合。规则集用作较高的抽象层,带来了几个金沙上线,这些金沙上线在一起。例如, 死人代码 收集25金沙上线,覆盖 自我使用特质 或者 未使用的返回值.

规则集用于金沙上线代码和构建报告。例如, 安全 规则集都使用 大使 , 为了‘Security’报告的一部分,以及 欧平安 报告,只有有关代码的安全性。

重新定义的规则集随着exakat引擎提供,它们也可以随时提供。

创建自定义规则集

要进一步优化其中一个列表,您必须编写自己的规则集。

构建您自己的规则集允许您选择重要规则,忽略不适应您的编码风格的规则,或优化速度的审核:较少的金沙上线,更速度。

自定义规则集可在引擎级别提供:这意味着必须配置它们‘config’exakat的文件夹。然后,它们可用于每个代码存储库。

以下是如何构建列表:

  • 发现‘config’文件夹,旁边的exakat.phar
  • 创建一个‘themes.ini’此文件夹中的文件,其中包含您喜欢的编辑器
  • 创建一个名为‘myruleset’。您可以通过INI文件的部分创建一个规则,因此从该步骤重复,每次都提供不同的名称。
  • Inside each section, create a analyzer variable like this :
['myruleset'] 
analyzer[] = 'Structures/AddZero';
analyzer[] = 'Structures/MultiplyByOne';
analyzer[] = 'Performances/ArrayMergeInLoops';
  • There is no (reasonable) limit to this list, so add as many as you need. analyzer is important, so are the [].
  • 更多的是 查找金沙上线名称 below.
  • 保存文件,然后检查exakat已发现它,有:
php exakat.phar doctor  
  • At the beginning of the doctor result, you should see something similar to this :
exakat : 
executable           : exakat
version              : 1.6.2
build                : 853
exakat.ini           : ./config/exakat.ini,
config/remotes.json,
config/themes.ini
graphdb              : gsneo4j
reports              : Ambassador
themes               :
extra themes         : myruleset
tokenslimit          : 1 000 000 000
extensions           : Drupal.phar 
  • Note that 主题 and MyRuleSet. are mentionned. This shows that Exakat found and processed the 主题 file, and it found MyRuleSet.. Any themes that is not recognized will be omitted.

查找金沙上线名称

此时,您需要的只是一个良好的金沙上线名称列表。金沙上线名称是对每个金沙上线唯一的标识符。他们经常被提及,用于文档目的。这是现在将它们用于配置的时间。

您可以在此处找到姓名:

  • 在手册中
  • 在大使报告中
  • 在每周

在手册中

exakat手册包括一个 完整一节 每个金沙上线都可用。这是条目 摘要或工具 :金沙上线的名称位于底部的表中,其中示例,主题和示例。

 

在大使报告中

在大使报告中,每个问题都以蓝皮书作为图标记录。点击任何蓝图图标,它导致完整的文档,版本附件。

检查选项列表,右下方的金沙上线名称:当提到-P时,存在金沙上线的实际名称。

在手册附件中

主题已经提供了很多金沙上线,并且杂草中的一些可能更容易,而不是重建整个列表。这是手册附件方便的地方:

在附件中,每个标准主题都列于其构成金沙上线清单。例如, 安全 显示39金沙上线。

复制此列表,并将其粘贴‘themes.ini’然后,查看金沙上线列表,并删除或注释出任何不需要的金沙上线。

继续发现新金沙上线

这些是构建自定义金沙上线列表的方法,适合您的需求。这意味着避免一些规则,因为他们不’t apply.

但是aren.’你错过了吗?通过关注您最喜欢的规则,您也可能会错过其他有趣的规则。每周都有新的规则,保持在边缘并检查它们是一个好主意。

这就是为什么在一段时间内运行一个富勒大使报告的原因(一个月到三个月,具体取决于您的速度),并检查普通中的任何东西是否在代码中弹出。这可能是一个新的金沙上线,或新的行为’爬进你的代码。而且也可能是时候开始检查新的东西。

愉快的准则评论!