exakat.1.8.8 Review

exakat.1.8.8 review

exakat 1.8.8出了。在引擎盖下有许多改进,在测试阶段的重要工作。所有这些新地面都在即将到来的版本中有用,因此只需倾听并为新功能做好准备。较小的CodeBase的速度改进是大量的:小于WordPress的任何东西都将受益于50%的速度增加。然后,现在将PHPDocs加载到其余的代码,以进行进一步处理。报告已重新推荐:它们可与YAML文件配置,因此您现在可以根据您的需求定制您的HTML报告。昨天执行代码审查的最佳时间。第二次最佳时间是今天,exakat 1.8.8审查。 

用tinkergraph引擎加速50%

exakat.在其核心的图形数据库引擎运行。它是 格里蒙服务器, 来自 Apache软件基础

在gremlin服务器中, 格里蒙 是导航语言。服务器是tinkerpop。服务器本身是Gremlin语言的主机,它将存储工作委托给引擎。如今有很多引擎,并且exakat使用其中两个:tinkergraph和neo4j。 

Neo4j非常适合大型代码库,并在暂时存储磁盘上的节点和链接时提供良好的可靠性。 

另一方面,Tinkergraph是仅存记忆的发动机。它将其所有数据存储在内存中。这是比基于磁盘的版本更快的选项,因为Exakat对数据持久性没有主要限制:如果发生崩溃,则重新启动比修复数据更安全。

配置tinkergraph或neo4j

要利用TinkerGraph,您必须更新Config / Exakat.ini文件。此文件应与Exakat二进制文件相同的目录。如果你没有’T造成它自己,Exakat已经为您完成了它,第一次对医生打电话。特别是,exakat检测到哪种发动机可用,在Neo4j和Tinkergraph之间,并由默认的Neo4j使用。 

; use tinkergraph or gsneo4j
graphdb = 'tinkergraph';

通过使用使用tinkergraph配置tinkergraph tinkergraph, 或者 gsneo4j 使用neo4j插件。 

如果未安装NEO4J插件,则可以使用安装的可选部分 手动的 完成安装。

新兴发动机了?

有一个可用的第三个发动机,称为‘nogremlin’:当没有安装Gremlin时,它为Gremlin提供了一个有效的驱动程序。这对于开发目的是有用的,或者仅用于生产从审计的报告时。总有一种用法 null模式对象.

除了这款发动机外,我们还有空间使用其他发动机,如 Janusgraph..亚马逊海王星 or OrientdB.。如果您想将exakat的支持扩展到这些引擎,请与我们联系,所以我们也可以帮助您。 

PHPDOC支持

由于Exakat 1.8.8,PHPDocs注释现在在图表数据库中加载,可用于支持分析。 

到目前为止,他们就像任何其他评论一样被忽略。然而,许多框架和工具使用它们来注释代码,扩展PHP键入系统或记录它。 

phpdoc注释现在加载了名称空间,类,特征,接口,方法,属性和常量。忽略与值或表达式旁边的phpdocs等其他实例。如果您有实际使用此类评论,请发送我们的示例,以便我们可以升级支持。 

目前,PHPDOC将添加到发动机中,并且可以用Regex进行操作。他们将被添加到分析,特别是延期’S分析,每当他们添加到审核的详细信息时。

新报告:使子

exakat 1.8.8增加了一份新报告:使者。这是大使家庭的报告:人类可读报告,具有刻面发动机,多个部分和小节。实际上,其他报告,如外交官或OWASP,它是基于大使的,使用相同的模板,但显示了特定的结果和指标选择。

它实际上是一个新版本的大使,可以配置特别附加值:可以配置Emissary菜单及其内容。可以提供部分和分段,并可能标题为一个愿望。

我们目前正在处理此功能的文档。 

立即采用Array_ *功能

PHP有很长的名单 数组功能 : 大批_column.大批_chunk.大批_combine.大批uassoc,只是为了我自己的最爱。

有许多情况,其中一个本机函数可以替换整个循环。例如,想象一下以下循环: 

<pre class="wp-block-syntaxhighlighter-code">
&amp;lt;?php

$valid = [];
foreach($array as $a) {
    if (check($a)) {
        $valid[] = $a;
    }
}

?&gt;
</pre>

您可以在没有任何代码知识的情况下阅读,此循环正在选择有效值,谢谢 check() 功能。有效值在新数组中收集,附加: $valid.

这个整个循环可以很容易地用呼叫替换 大批_filter,它将回调对数组的每个元素应用,并使用满足回调的值构建一个新数组:总之,回调返回true。 

移动到PHP本机函数是一个智能移动:这些功能通常比写入整个循环更快,并且它们也需要更少的代码键入。少于代码,错误少。  

从长远来看,这种代码压缩有多次使用的帮助:这里, check() 可以再次使用,在另一个循环中。新的comers将发现更容易理解,并在自己的代码中重用。而且,最后但并非最不重要的是,它使循环集中在一个操作上:经常,循环将成长,并获得补充表达式,直到它不能被分成较小的部分。 

此分析涵盖以下方法:

  • 大批_push():使用阵列_合并()
  • 大批_slice():使用数组_chunk()
  • 索引访问:使用array_column()
  • append []: use array_merge()
  • 加法:使用array_sum()
  • 乘法:使用array_product()
  • 连接:使用Implode()
  • 如果是:使用array_filter()

每周审核:2019年,周#26

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-29

快乐的PHP代码评论 

所有360分析仪都介绍在文档中,包括恶毒:
默默地铸造整数::那些是在执行PHP时浮动到浮点的整数文字。

这是一个罕见的错误,少于3%的机会出现,但它叮咬。 

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

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