为什么在 Java 方法名称中使用数字是错误的?

2022-09-02 14:16:44

不久前,我记得有人告诉我不要在Java方法名称中使用数字。最近,有一位同事问我为什么,对于我的生活,我不记得了。

根据 Sun(现在是 Oracle)的说法,方法名称的一般命名约定是:

方法应为动词,第一个字母小写混合,每个内部单词的第一个字母大写。

Java 的代码约定

这并没有具体说数字不能使用,尽管通过省略,你可以看到它不建议使用。

考虑一下(我的同事有)的位置,您希望根据特定年份执行一些逻辑,例如,在2011年生效的新策略,因此您的应用程序必须根据信息采取行动并根据年份对其进行处理。常识可以告诉你,你可以调用这个方法:

boolean isSessionPost2011(int id) {}

在方法名称中使用数字是否可以接受(尽管标准的措辞如何)?如果不是,为什么?

编辑:“这并没有具体说数字不能使用,尽管通过省略,你可以看到它不被建议。也许我的措辞不正确。标准说“方法应该是动词”。我读到这里是为了说,考虑到数字不是动词,那么方法名称不应该使用数字。


答案 1

标准的 Java 类库充满了包含数字的类和方法,例如 .Graphics2D


答案 2

该方法似乎...过于具体。

难道你不能使用:

boolean isSessionAfter(int id, Date date)

?

这样,下次将策略应用于特定日期之后的任何内容时,您无需复制粘贴旧方法并更改号码 - 只需使用其他日期调用它即可。