我的代码很久以前可以追溯到2011年,我在编写代码的方式上遇到了很多关于严格标准的错误。
if (!isset($End)) {
$Info['Card'] = array_shift(array_keys($Info['Cards']));
}
if (!isset($Game['Pack']) || !in_array($Game['Pack'], $Packs)) {
$Game['PackName'] = array_shift(array_values($Packs));
$Game['Pack'] = $this->GetPackInfo($Game['PackName']);
}
$Params['Password'] = array_pop(explode("\t", $Attr));
将此代码放置的正确方法是什么?
答案 0 :(得分:1)
您尚未在问题中明确指出,但我会解释您关于我的代码布局方式的严格标准的短语" 错误"这意味着您正在运行PHP Code Sniffer或类似工具,而这正是您从中获取这些错误的地方。
PHP Code Sniffer是分析代码是否符合某些准则的绝佳工具。
这方面有许多指导方针 - 几十年来人们一直在争论是否使用制表符或空格进行缩进,是否使用CamelCase或snake_case作为变量名称以及其他许多要点。
PHP Code Sniffer足够灵活,能够处理这些指南中的任何一个,并且可以配置为检查代码中的一个通用标准或您自己的自定义集。
近年来,PHP世界已经确定了由PHP-FIG (Framework Interop Group)定义的一套通用标准。这些标准称为PSR1,PSR2等。对于PHP Code Sniffer,您只需指定--standard=psr2
即可根据PSR标准检查代码。
正如我所说,你可以使用其他标准,但是现在大多数PHP代码都是按照PSR标准编写的,所以它是一个很好的起点。
与所有其他编码标准一样,PSR标准纯粹是意见的共识;不符合任何标准的代码不是"错误&#34 ;;它更难阅读。
您引用的代码无法通过多种方式符合PSR标准,主要是在您引用的位中对变量名称进行缩进和大写。
如果要更改代码以符合标准,则应该相当容易。 PHP Code Sniffer还附带了一个名为PHPCBF(PHP Code Beautifier和Fixer)的配套工具,它可以自动纠正PHP Code Sniffer检测到的至少一些错误。
另一种选择就是保持原样;如果这是一大堆旧代码被合并到一个较新的项目中,那么将它保持分离并简单地从测试中排除旧代码可能是有意义的。