Java中的类名应该有多独特?

时间:2016-05-18 20:05:49

标签: java class naming convention

我是否应该避免将类命名为与其他外部软件包/库中的类相同,但代价是牺牲名称简洁性并增加一些复杂性?

例如,在我的应用程序中,我有一个名为UIComponents的包,它包含可重用的组件,GUI的某些部分可以用于常见任务。例如Form,Grid,Window。由于我正在编写一个模拟器,我应该使用像SimForm,SimGrid和SimWindow这样的东西,以避免命名它们与我使用的某些库中的组件相同吗?

4 个答案:

答案 0 :(得分:4)

也许基于意见,但这就是我的想法:这会让人感到困惑吗?

当我制作纸牌游戏时,我倾向于拥有一个名为$ program a b c --to-list-B d e f --some-option g 的班级。当我第一次尝试在文件中使用它时,我的IDE问我:“你的意思是Card还是my.package.Card?”好吧,显然我对smartcardio没什么兴趣,所以使用javafx.smartcardio.Card作为名字对我来说不是问题。

现在假设我正在使用JavaFX制作房屋设计师。 JavaFX有一个名为Card的类,我可能会将它用于我的应用程序。因此,我想说我想避免命名我自己的自定义窗口类Window,并使用其他类似的东西,如Window ......或类似的东西。

答案 1 :(得分:1)

如果您的类是另一个包中的类的替换或扩展,并执行类似的功能,那么创建您自己的名称前缀就足够了,就像您建议的那样。直接在我的代码中看到SimForm,SimGrid是一个非常有用的提示,告诉我我正在使用你的类,而不是JDK类。

答案 2 :(得分:1)

虽然您应该检查一些约定,但在我看来,这取决于您,因为您是负责了解业务详细信息并使您的代码干净,易读且易于理解的人员。能够在未来维持

您的班级名称应该很容易识别,毫无疑问您正在处理的是哪个商业实体,并且与您的企业(直接)无关的每个班级都应该有更好的名称。

即使使用一个库中存在的名称命名您的类也没有问题,但只有当您认为它是正确的名称并且没有其他人能更好地解释这个概念时,您应该这样做。

答案 3 :(得分:0)

你可以拥有任意数量的同名类,直到它们都在不同的包中。

在日常生活中,我们尝试在每个模块/组件中使类唯一。在极少数情况下,我们必须使用完全相同的名称。