getter或setter Javadoc应该提到默认值吗?

时间:2016-08-29 18:37:14

标签: java javadoc

记录可选属性的默认值的惯例是什么?

当一个类包含带有getter和setter方法的可选属性时,是否应该通过getter或setter方法指定默认值?还是两个?

当用户停下来问自己“等等......如果我没有设置这个值会怎么样?”他们会先看哪种方法?

这是一个具体的例子:

KeepWithGroup

在上面的代码中,我希望默认情况下指定“verify”为真?

3 个答案:

答案 0 :(得分:2)

Builder模式通常没有getter(导致一个流畅的API),因为我们的想法是设置所需的值并构建生成的对象。

即使您链接的维基百科示例也没有getter。

否则说没有指定的位置具有默认值,所以我建议查看其他API以了解他们做了什么选择并选择了一些令您满意的内容。

只要在Javadoc中记录某处,它就不重要了。如果你在正确的班级,即使它可能不在你想象的第一个地方,你也会找到它。毕竟,javadocs并不是那么大。

在您的示例代码我希望默认值为false,如果没有另外说明,但如果不是(或者即使它),则会提到至少在二传手中。但同样,没有规则,你会看到各种习俗。

答案 1 :(得分:0)

没有设置规则,类需要有getter和setter。但是,类的基本思想是从中创建对象。一个类就像一个蓝图。该对象是您使用蓝图构建的对象。该对象需要具有一些属性。如果类没有setter方法,则不会使用您正在构建的对象。同样,如果您需要使用该对象的属性,则需要一个getter。你可能不需要他们中的任何人,但不是他们两个。

答案 2 :(得分:0)

如果您正在谈论吸气剂和制定者,那么您就不会讨论施工。我期待某种构造函数,将对象初始化为有效状态。这应该照顾它,文件应放在那里。可能有多个构造函数。

如果您正在使用构建器模式,则应将其添加到build()construct()方法,因为它应验证并创建所需的对象。

如果你有一个DTO,那么它应该有一个构造函数或一个构建器。吸气剂和制定者通常不是合适的设计。

但是,如果你想做类似的事情,我会添加默认值的getter,并将其称为,即getBananaWithDefault()或{{1并且不公开普通的getter(或者让getter也有不同的名字)

在接口示例中,我将记录如下:

getDefaultedBanana()

但这是我的个人观点。我甚至可能放弃setVerify& getVerify并且只有/** * if the returned JSON should be verified */ void setVerify(boolean setVerifying); /** * @return whether the JSON should be verified */ boolean getVerify(); /** * Loads the JSON file. * Will default to use verification if not set * @throws VerificationException if verification is enabled and the JSON is invalid */ String load() throws VerificationException; 方法