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