Array_shift (array_keys) - (array_pop) -旧代码问题


array_shift(array_keys) - (array_pop) - old code issue

我有非常老的代码,可以追溯到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));

如何正确地布局这段代码?

您在问题中没有明确指定,但我将您的短语"关于我的代码布局方式的严格标准的错误"解释为您正在运行PHP代码嗅探器或类似的工具,这就是您从哪里获得这些错误。

PHP代码嗅探器是一个很好的工具,可以分析你的代码是否符合某些准则。

关于这一点有很多指导方针——人们已经争论了几十年,关于是否使用制表符或空格来缩进,是否使用CamelCase或snake_case来命名变量名,以及许多其他问题。

PHP代码嗅探器足够灵活,能够处理这些准则中的任何一个,并且可以配置为检查您的代码中的一个通用标准或您自己的自定义设置。

近年来,PHP世界已经确定了一套由PHP- fig(框架互操作组)定义的通用标准。这些标准被称为PSR1、PSR2等。对于PHP代码嗅探器,您只需要指定--standard=psr2,让它根据PSR标准检查您的代码。

正如我所说,还有其他标准可以使用,但是现在大多数PHP代码都是按照PSR标准编写的,所以它是一个很好的起点。

PSR标准,像所有其他编码标准一样,纯粹是一个共识的意见;不符合任何标准的代码不是"错误的";只是更难读。

你引用的代码在几个方面不符合PSR标准,主要是你引用的位中的变量名缩进和大写。

如果您想修改代码以满足标准,这应该是相当容易的。PHP代码嗅探器还附带了一个名为PHPCBF (PHP代码美化和修复器)的配套工具,它可以自动纠正PHP代码嗅探器检测到的至少一些错误。

另一种选择是简单地保持原样;如果这是一大块旧代码被合并到一个新项目中,那么将它们分开并简单地从测试中排除旧代码可能是有意义的。