分形320exakat的第一步

‘一个必须审查码才能生活,而不是直播审核码’。查看代码是每天的一部分’■编码生活,它应该保持它的内容:短暂的旅行回到教导我们关于我们所做的代码。代码审查有三种教学:从一个人中学习’他自己的错误,消除了尽可能多的错误,并评估代码。这是exakat的第一步。

代码审查肯定会更好地完成另一个Developper。别人在代码和hasn上看看’T与它建立任何关系。任何花费长期的人都明白,父母的感觉在代码准备好审查之前。然后,是时候让它去接受批评,好坏。那’s actually hard, isn’t it ?

人类代码审查是最好的,可能希望专家甚至是初级:它具有更高的抽象级别。因此,在个人代码审查和外部之外,有代码审查的空间’T伤害感情,并长时间地带给您一英里的代码质量。

exakat引擎的核心

这些想法位于exakat引擎的核心。 exakat是一个静态分析工具,旨在自动查看代码。它通过直接读取代码,提取可用的各种逻辑和定义。然后,它适用于代码的越来越多的分析并构建完整的报告。

从存储库中的代码开始,大多数是运行exakat的两个命令:

exakat init -p scrummastor -R //github.com/eleven-labs/ScrumMastor.git 
exakat project -p scrummastor

第一个命令用存储库初始化项目。这里,Git用作默认值,也可以使用其他几个VC,如SVN,Bazaar或Mercurial。

从代码中建议PHP指令

我们可以检查的第一个报告是Php.ini-dist,位于项目/斯克拉金/斯克拉金/。此文件包含准备应用程序托管时设置的建议指令列表。你’LL查找建议:

  • MongoDB,因为斯克拉明人确实基于MongoDB;
  • 卷曲,虽然大多数默认值都可以确定,所以如果您想确保没有被忽视,则可以使用与文档的简单链接。
  • realpath_cache_size作为scrumastor使用文件
  • expose_php for security,虽然这始终是检查。

该列表实际上针对提供的代码量身定制:由于不使用MySQL或文件上传,因此此处未提及它们。

通过本建议书,很容易审查重要指令,并提醒重要指令。这对编码团队非常有用,因此他们可以在文档中提供,而不为托管团队提供一切。

建议从代码中的PHP编译

基于同样的分析,Exakat还提供汇编指令。如今,常常安装PHP,因为Packages Managers,如Apt-get,yum或brew。这些安装是节省时间。在安全性和性能方面,编译PHP更安全,避免任何无用的扩展:这意味着PHP具有较小的占用空间,而且在安全漏洞的情况下,它限制了利用服务器的可能性。因此,编译应用程序的PHP总是一个加号。

;;;;;;;;;;;;;;;;;;;;;;;;
; PHP configure list   ;
;;;;;;;;;;;;;;;;;;;;;;;;

./configure
 --enable-ast
 --disable-ctype
 --with-curl=DIR
  --disable-dom
 --disable-fileinfo
 --disable-filter
 --disable-hash
 --without-iconv
 --disable-libxml
 --enable-mongodb
   --with-openssl-dir[=DIR]
    --with-system-ciphers
 --disable-pdo
 --without-pear
 --disable-posix
 --disable-session
 --without-sqlite3
 --disable-tokenizer
 --disable-xml
 --disable-xmlreader
 --with-xmlrpc[=DIR]
 --disable-xmlwriter

从代码源中,Exakat报告所需的扩展名单,例如Curl和Mongo-DB。您还可能会注意到Mongo-DB扩展名称具有一些依赖指令,如-With-openssl-dir,这些指令在这里报告了帮助。此编译线明确禁用任何其他扩展,如PDO,PEAR或XML。

分析代码源

由于exakat的代码源的内部表示,以前的帮助是允许的。 exakat发现了各种功能和功能,并选择了对配置和编译很重要的功能和功能。 exakat使用相同的基础施加超过300分析。所有搜索都可以以文本格式访问,其中包含以下命令;

php exakat report -p scrummastor -T Analyze -format Text 

这是一个小摘录:

/src/ScrumMastor/Provider/ScrumMastorProvider.php:37 Empty Function

/src/scrummastor/provider/scrummastorprovider.php:37 undefined类/src/scrummastor/provider/scrummastorprovider.php:37在变量(范围内)/src/scrummastor/provider/scrummastorprovider.php:37应该使用本地类/ src / scrimustor / provider / scrumastorprovider.php:37未使用的参数/src/scrummastor/provider/scrummastorprovider.php:37可以返回void /src/scrummastor/provider/scrummastorprovider.php:14未定义的类/ src / scrimastor / provider / scrumustorprovider .php:14应该使用本地类[…]

在代码中发现了274个问题,并报告。对于每个问题,你’LL找到源文件,行号和简短描述。在示例中提供的那个可以很容易理解:现在,如果您知道代码,您可以启动PHP IDE并直接进入该行以自行评论。

文本是一个很好的格式,可以处理长期问题列表。 exakat还能够以各种格式提供,这两种机器可读和人类可读。下面,你’ll find the ‘Ambassador’ report dashboard.

大使报告

仪表板概述了整个项目,使用PHP 5.6测试。 exakat支持任何版本的PHP VROM 5.3到7.2的审核。左侧角落的问题崩溃,以及文件的动态图形和通过分析。这允许您在查看代码时选择要拥有的焦点:您可以在同一文件中尽可能多地审核,或者您希望仅在应用程序中强调安全性?

Ambassador Report有一个面位的搜索引擎,用于问题:通过文件,分析或重要性选择过滤器来缩小您的评论到精确的文件集。

exakat.Ambassador report : dashboard

 

exakat提供的分析在几个食谱中传播:安全性,表演,与PHP版本的兼容性,代码质量,死代码。此外,周一每周添加新分析:这是最好的一天‘exakat upgrade’您的发动机版本,并了解更多关于您自己的编码。

exakat.Ambassador report : found issues

每个分析都是 用例子记录。它们通常覆盖各种科目,并非所有这些受试者都可能适用于您的编码风格。那’完全正常:相信我,exakat本身在自己的代码中找到问题,如果它是同时应用它们。忽略你不的那个’T喜欢,专注于对你很重要的。

安装

exakat在各种口味中提供:从exakat.io下载Phar,在线尝试使用演示或萨斯服务;在Docker或Vagrant上获取它。完整的手动安装也在Online中的文档中。

代码审查作为放松

审核代码中最困难的部分是要知道在哪里寻找问题。 exakat收集巨大的代码库的艰苦工作和易于易于代码,因此您只需检查实际代码并根据编码样式更新它。

实际上,我们用它作为放松。阅读报告很有趣:有时,只要阅读一个问题就是一个很好的信息,了解更好的编码。其他时候,exakat报告了一些愚蠢的错误,修复它总是令人耳目一新,并在其他任何人之前提交它。在$ tihs或$ _psot(实际案例)中找到一个拼写错误是多么柔情。快速修复是提高代码中信任级别的好方法,并在出现之前修复错误。