寻找对此的反馈,因为标准库似乎不再将 get 用于他们的新方法。
所以目前的投票是 2:+1: 和 7:-1:。 如果在另外 24 小时内没有额外的投票或评论,将以此作为结果。 不和谐偷看一下。
我支持更改,但它需要编写一些约定,因为有时需要get
前缀。
理想情况下反映 JDK 如何处理这个问题。
有setter时jdk有get
前缀吗? 我们可能需要将它们分为有 setter 和没有 setter 的时候。
例如,记录 getter 方法没有get
前缀,但它们没有 setter,也没有潜在的名称混淆。
事实上,一些新的 jdk getter 有get
前缀,而另一些则没有。 一个引人注目的例子是java.lang.invoke.CallSite
,它是最近在 jdk 7 中引入的,经常被 invokedynamic 字节码指令的引导方法属性使用,其中有一个MethodType type()
getter 和一个MethodHandle getTarget()
getter (类型一是不可变的,而目标一是可变的;还有一个setTarget(MethodHandle)
)。 其他一些较新的 api 也使用get
前缀,例如 java 9 中的Class.getModule
。
我相信 JDK 的标准是不可变的,没有前缀,而可变的有前缀——这在某种程度上可以看出新记录没有 getter 或 setter,因为它们的数据是不可变的。
最有用的评论
我相信 JDK 的标准是不可变的,没有前缀,而可变的有前缀——这在某种程度上可以看出新记录没有 getter 或 setter,因为它们的数据是不可变的。