构造函数参数上首先出现什么,简单或复杂的参数



我怀疑如果我把复杂的构造函数参数放在构造函数参数的前面还是末尾,正确的方法是什么,为什么?

function __construct(Reflector $reflector, $autoResolve, $canUseAnnotations);

或:

function __construct($autoResolve, $canUseAnnotations, Reflector $reflector);

注意:$autoResolve 和 $canUseAnnotations 只是简单的布尔变量。

正如 Mark 已经指出的那样,如何排序参数完全取决于您。其中最重要的部分是一致性(参见 PHP 在 str/array 函数方面的不一致),这意味着如果你有更多这样的类,你应该在这些类上尽可能平均地对参数进行排序。

至于你的问题本身(下一部分是我个人的看法);我喜欢把更复杂的参数放在左边而不是右边。我不知道为什么,但对我来说感觉很对。

最新更新