本周,Exakat为太多的对象添加了一个新库存。该发动机升级了输入类型和默认值的存储,这导致了几种现代化和覆盖范围,例如‘typehint用于接口或抽象类’, and ‘从未使用参数’. 

代码就像一系列婴儿步骤,也是一个好的exakat 1.9.7评论。

束缚了太多的物体

链接对象是任何PHP代码的经典视线。要跨越代码达到资源,需要调用多种方法: 

Main::get('root')->getUsers($id)->getAddress(self::Current)::$zip_code->format();

exakat.1.9.7构建了对象解除引用深度的库存。这提供了对应用程序本身的有趣概述。

然后,介绍了一个新的分析: 最大推迟。它报告了任何链式的表达式太多方法和属性。缺省情况下,最多设置了7个取消引用,可以设置为其他级别,更严格。

取消引用水平图表

特别是,第一个报告表明,这种写作风格非常受欢迎,可能导致真正的链接:可以将35到65个呼叫。这是由于流利的接口,特别是对查询。 

We’LL在检测那些流畅的接口上,并将它们与下一个版本中的其他链接呼叫区分开来。

类型和默认值

到目前为止,Exakat代表了Typehint和默认值,因为它们出现在PHP中:一个选项。它们可能可用,或不可用。这导致额外的操作,处理这些值不可用的情况。 

随着PHP的演变,这些选择越来越多。要加快过程,始终可用的类型,默认值和默认值始终可用‘Void’对象,让他们指向任何东西。它充当空样模式:支持语法,但没有任何事情。

We’LL将覆盖范围扩展到属性,就像PHP 7.4一样。直到代码本身开始使用新的键入属性,Exakat将填写空白,自动检测属性的类型,并检查其相关的使用情况。

没有类型的类型

方法上的类型应该始终使用界面:方法和调用上下文之间的关系应该基于合同,而不是具体课程。 

接口不允许属性规范,仅是方法和常量。然而,45%的PHP应用程序使用来自方法内的参数的公共属性。 

保持靠近法律的信, abstract classes 是我们可以使用的最接近的结构,以及指定方法和属性,而用合同而不是混凝土级别。 

这已在Exakat 1.9.7中更新。

从未使用参数

‘Never used parameter’是报告从不用于调用函数的参数的规则。这

<?php

function foo($a, $b = 2) {
    // both argument are really used
    return $a + $b;
}

// Imagine this scattered across the code

foo(1);
foo(10);
foo(-2);
foo($i);
foo($a->c);

?>

功能foo()定义了两个参数,$ a和$ b。 $ b有默认值,并且可能会在调用时跳过。虽然第二个参数的定义可能在函数定义中发出意义,但似乎函数使用总是跳过此参数,并且依赖于其默认值。因此,从未使用该论点。

怎么办这些论点?像往常一样,保持它可能是有用的,以备将来使用。或者,可以考虑一个未使用的参数也是死的代码:将其删除,并在foo()函数中硬编码,直到它实际上是有用的。没有必要更复杂。

在Exakat 1.8.3中引入了该分析:现在也涵盖了方法调用,静态或正常。 

每周审计:2019年,周#40

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 2019-40

快乐的PHP代码评论 

所有386个分析仪都介绍在文档中,包括移动: 重复打印():始终在一次呼叫中合并几个打印或回声。

这是一个常见的错误,超过49%的机会出现。 

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

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