【发布时间】:2018-07-06 01:35:36
【问题描述】:
当一个方法返回对另一个方法的调用结果时,记录返回类型的明智方法是什么?
class A
{
/**
* @return [How do I know here what bar will return?]
*/
public function foo()
{
$b = new B();
return $b->bar();
}
}
class B
{
/**
* @return string
*/
public function bar()
{
return 'baz';
}
}
当不确定B::baz() 会返回什么时,如何记录A::foo() 返回类型?将来B::baz() 可能会发生变化,在这种情况下A::foo() 的返回类型会在不知不觉中发生变化。
这是代码异味吗?是否可以设计更广泛的代码,使A::foo() 的返回类型即使B::baz() 发生变化也是可预测的?
【问题讨论】:
标签: php documentation phpdoc