我应该将可选参数默认设置为false还是true

时间:2018-12-05 13:16:14

标签: javascript php parameters default optional-parameters

大家不时编写新函数时,会向函数添加一些可选参数。

通常,我评估需要多久更改一次参数(考虑我的用例)并以代表最常用的参数组合的方式设置默认值。 因此,我不在乎默认值是false还是truenull。在PHP中,如果您不使用参数,则只需在代码中忽略它即可。

一个功能

public function getUrl($absolute = true)

可以根据$absolute是否设置为true给出URL的绝对路径或相对路径。如果确实需要绝对路径,则将其称为getUrl(),如果需要相对路径,则将其称为getUrl(false)

但是,我可以将函数的定义更改为

public function getUrl($relative = false)

仅当我需要相对于getUrl(true)的路径时,才更改函数的调用方式。

就我个人而言,我认为在PHP中并没有太大的区别,尽管我更喜欢“设置”额外的参数,而不是“取消设置”它们。也许那只是我的意见。

然而,在VueJS组件中,它确实起到了更大的作用。我可以创建一个呈现文本和按钮的组件,并添加一个属性以决定是否应显示按钮(无论出于何种原因)。 如果我说默认情况下会显示该按钮,那么有两种方法可以转到此处。

1)拥有一个属性showButton,该属性默认为true

2)拥有一个属性hideButton,该属性默认为false

实际上两者都是一样的,但是当我希望隐藏按钮时调用它们的区别是:

1)<text-button-component :showButton="false" />

vs

2)<text-button-component hide-button />

自从我最近与Vue.js一起工作以来,我现在总是总是将我的可选参数的默认值设置为false,并且只“设置”可选参数,而不是“取消设置”它们。

这种行为是否有最佳实践?有共识吗?还是仅仅是个人喜好?

0 个答案:

没有答案