是否存在修改标识符命名的约定,否则这些标识符将成为Java中的关键字?

时间:2015-03-30 20:02:19

标签: java

例如,你可能会这样做:

public final class Library {
    public void checkOut(Book book) { /* banana banana banana */ }
    public void return_(Book book) { /* banana banana banana */ }
}

但Java程序员应该遵循一个实际约定吗?

4 个答案:

答案 0 :(得分:7)

语义很重要

return()应该checkIn()问题解决了!

同样return本身就是一个可怕的词,它并不比typeflag或我每天看到的数百个其他标签中任何一个含糊不清的东西更好没有独立的语义,需要大量的特定意义的上下文。

答案 1 :(得分:1)

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

a.b(c)要短得多,但是 理解member.checkOut(encyclopedia)要好得多。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

一个可怕的情况是,如果你使用" isReturnable()"某些工具希望看到bean模式并且反应很差。或getBookPageCount(),其中计算页数而不是属性。在这些情况下,我有时会看到" izReturnable()"看起来很可怕,但它就是它。另一个通常可以改写为countPages()之类的东西。一般来说,bean模式很糟糕,应该从轨道上进行核化并用注释替换。

哦,另外,另一个丑陋的案例是一个名为" class"这是对包含"类"的变量的一个很好的描述。对象,很多人使用clazz - 你只是习惯了它。

但是对于关键字,我想我会说约定就是使用更具描述性的方法/变量名。