exakat.1.7.1 review
exakat.1.7.1 review

exakat.1.7.1 Review

exakat 1.7.1修复了上周主要升级中报告的错误。‘Concentrated issues’是大使报告的新部分,它将收集最严重的代码线。 exakat引擎还获得升级以支持‘Virtualproperty’。质量部分达到2900 UT测试(再次)。每个伟大的代码都以exakat 1.7.1的评论始于exakat 1.7.1审查!

集中的问题

大使报告(-Format =大使)有一个新的部分,报告收集五个或更多问题的代码行。在下面的示例中,您可以看到报告错误的文件名,行号和分析列表。

 

代码中的哪个行是最多的行
exakat集中的问题:在代码中的位置是具有最多问题的行

 

误差计数是总共出现的次数:一些列出的分析有多于一次。这就是分析列中列表的原因具有少于25个元素:重复它们。这是违规代码:

   

addNotification($type='N', $title='Addon has been activated', $message=implode('<br>', $success), $state='U', $callbackOnClose='', $callbackReference='');

尤其是, 埋葬分配 happens several times, since variables like $state are assigned at calltime. Documentation is available for each analysis that is reported.

集中的问题 is a good start when you want to start reviewing code : more issues in the same line of code means

我们还考虑了其​​他集中区域:通过线条(多行),通过方法或课程。在懈怠或 推特 如果你认为它很有用,我们’LL在即将推出的版本中包含它们。

2900单位测试

exakat覆盖了发动机和单位测试的规则集。在不了解它们的情况下,避免介绍回归是至关重要的。目前,有2900个测试,11194个断言。

每次发动机或分析都改变时,单元测试都会针对新的代码库运行,并且诊断并删除任何偏差。

同时,旧分析是重构的,使用更多的现代方法,而不是构建的方法:随着发动机的发展,分析可能会弃用或受他们使用的语言的限制。只要单位测试仍然通过,重构很好。这些重构还触发了灵感,并添加了更多的测试。这种形状的分析未来。

exakat.的单元测试包括两个方面。第一个是我们想要在代码中找到的模式:这是单位测试的经典。第二个是我们希望在代码中找到的模式。请注意,否定在第二个动词上,‘find’。我们使用该第二方面对抗误报,只需添加信号,即发出信号是不可取的。

单位测试与PHPUnit一起运行,每个都包括一块PHP代码,作为输入,以及来自代码的预期和不需要的模式列表。一个单元测试中总有这些方面。我们经常检查单元测试是新鲜的,通过删除输入代码:然后所有测试都应该失败。没有任何代码的任何测试都是重构的,除非出于罕见情况,否则不应发生这种情况,例如将整个文件报告为错误。

曾经有超过3000个单元测试,但它们被移动到外部扩展,并减少了exakat主储存库中的测试数量。这是一个黑暗的一天,因为单位测试总是被认为更加多,所以我们现在正在赶上一条追赶!

VirtualProperty.

Internally, Exakat prepares the PHP code by linking calls to members, constants and methods of a object with the definition. For example, there is a link between $this->p and private $p = 1; in the following code :

class foo {   
   private $p = 1;

   function foo() {     
      return $this->p;
   } 
}

通常,建议始终声明属性,因为PHP使用这些定义来优化内存分配:它为该对象分配了内存en masse。另一方面,使用未定义的属性往往需要慢化PHP的最后一刻内存分配。

此外,具有定义使其更容易移动跨方法和继承的类别查找成员的所有用法。定义充当中心点,导致所有使用。这是分析的基础 使用不一致 哪些斑点成员用作不同类型的数据:字符串,数组,对象,同时链接到同一类。

这是Exakat引擎用于定义PHP中未明确可用的代码的一部分的特殊原子之一。其中,有序列,它定义了一串表达式,由分号,USetrait和Usenamespace分隔,它是使用表达式的上下文版本,或者函数键,它表示对函数的调用。

exakat引擎的内部 在线记录。

每周审核:2019年,周#11

exakat包括A.‘weekly’报告:此报告采用五项分析为构建。这意味着短暂的审计报告,几乎没有问题审查。读取它们并不是很多,并在代码中查看它们。 PHP社区中的每个人都可以专注于一个经典的编码问题并解决它。谈谈周围的每周审计:你’LL找到面临同样挑战的程序员。

获得‘weekly’审核,运行审计,请求‘Weekly’ report.

# Init the project (skip when it is already done)    
php exakat.phar init -p <yourproject> -R //github.com/Seldaek/monolog.git -git 

# Run the project (skip when it is already done)    
php exakat.phar project -p <yourproject> 

# Export the weekly project (every monday)    
php exakat.phar report -p <yourproject> -format Weekly 

# Open projects/<yourproject>/weekly/index.html in your browser    

每周,您可以在此找到5个新分析,以便在您的代码中审查。事实上,当您的代码干净时,您也可以快速查看即将到来的

每周 recommendations for PHP code review : 2019, week 12

快乐的PHP代码评论

所有356个分析仪都介绍在文档中,包括代表: 或者死 :它是经典的旧风格失败的错误管理,每个人都在PHP手册中学习。

它是代码中的一个不常见的过度劳累来源:13%的应用程序正在为此误导型提示而下降。

您可以查看图库中的所有exakat报告: exakat画廊.

下载exakat.io,安装它 Docker.,升级它‘exakat.phar升级-u’ and like us on GitHub..