是否有一个约定来修改标识符的命名,否则这些标识符在Java中就是关键字?

是否有一个约定来修改标识符的命名,否则这些标识符在Java中就是关键字?,java,Java,例如,您可以执行以下操作: public final class Library { public void checkOut(Book book) { /* banana banana banana */ } public void return_(Book book) { /* banana banana banana */ } } 但是Java程序员是否应该遵循一个实际的惯例呢?语义很重要 return()应该是checkIn()问题解决了 而且return本身就是一个可

例如,您可以执行以下操作:

public final class Library {
    public void checkOut(Book book) { /* banana banana banana */ }
    public void return_(Book book) { /* banana banana banana */ }
}
但是Java程序员是否应该遵循一个实际的惯例呢?

语义很重要
return()
应该是
checkIn()
问题解决了


而且
return
本身就是一个可怕的词,它并不比像
type
flag
这样模棱两可的词好多少,也不比我每天看到的数百个没有独立语义、需要大量上下文才能表达特定含义的标签好多少。

没有约定(据我所知)。通常,当您需要使用关键字作为标识符或其他东西时,会(几乎总是)有另一个单词最适合更改它。

Jarrod有一个很好的观点,解决这个问题

一种可怕的情况是,如果使用“isReturnable()”或getBookPageCount()计算页面计数,而不是使用属性,则某些工具希望看到bean模式,并且反应很差。在这些情况下,我有时会看到“izReturnable()”,它看起来很可怕,但事实就是这样。另一个通常可以用countPages()等其他词语来表达。一般来说,bean模式很糟糕,应该从轨道中删除,并用注释替换

另外,另一个丑陋的例子是一个名为“class”的变量,它是对包含“class”对象的变量的一个很好的描述,很多人使用clazz——你只是有点习惯了


但是vs关键字我想我会说约定只是使用一个更具描述性的方法/变量名。

您应该只使用有意义的名称。因此,当其他开发人员(甚至非技术人员)阅读您的代码时,他/她将很容易理解正在发生的事情

a.b(c)
短得多,但
member.checkOut(百科全书)
更容易理解

当然有命名约定!查看GOOGLE页面:开发者之间的命名约定各不相同,但通常不要使用会让其他开发者感到困惑的名称;将某物命名为“return\uux”不是一个好主意。。除此之外,我猜没有,没有惯例。你应该避免使用关键字作为标识符。
klass
cls
的使用量与
clazz
相同,并且在这两种情况下都是你所能想象到的最缺乏想象力的。