我的同事拒绝了我的代码审查,因为函数中的本地数组(底部示例中为$params
)上有不必要的phpdoc。看例子:
/**
* comment...
*
* @return int
*/
public function testFunction()
{
/** @var string[] $params */
$params = ['string1', 'string2'];
etc...
return 0;
}
有人可以向我解释为什么在本地数组上定义phpdoc是不必要的吗?我得到了我的同事的解释,我们不需要在本地数组上编写phpdoc。我们正在使用PhpStorm和Doctrine。
谢谢你的时间。
当数组是参数或返回值时,为数组编写像string[]
这样的phpdoc非常有用,因此您可以指定数组应包含的值的类型。但在那种情况下,它是一个在那里定义的字符串文字数组。 phpdoc并没有通过查看它告诉你任何你不能知道的事情。
从技术上讲,@var
旨在记录类属性,但在某些情况下,当函数无法确定变量的类型时,它可以在函数内部帮助IDE。但是,这里并不是真的需要。
我无法确定这是否正是为什么你的同事认为这是不必要的,但我没有看到另一个合乎逻辑的解释。