方法名称是否必须总是动词?

Sim*_*nch 3 java methods

我是Java编程的新手,目前正在研究命令读取程序(基本上,用户键入命令,而我的程序会评估执行的操作)。我有一个单独的类,其中包含我的所有命令,但它们都存储为方法,并不总是将动词用作名称。我了解习惯上将方法存储为动词。我使用的方法是否错误,是否有更好的方法存储命令?每个命令都有单独的类吗?调用我的方法之一的示例:

else if (command[0].equals("math")) Commands.math();
Run Code Online (Sandbox Code Playgroud)

Ste*_*n C 5

方法名称是否必须总是动词?

就Java语言(即Java编译器)而言,没有。语言规范仅要求您遵循有关使用什么字符以及上下文唯一性的一些规则。

典型的Java样式指南也不需要方法名称为动词。但他们通常会建议这样做。(请注意,由于难以可靠地区分名词和动词,因此自动样式检查器不会检查这件事。)

我了解习惯上将方法存储为动词。

这是更好的表征。

这实际上来自于面向对象的设计。设计中的类映射到Java类,并且Java方法表示对设计类上的实例的操作。对类使用类似名词的标识符,对于方法使用类似动词的标识符是“自然的”(习惯上)。

但这不是必需的。


在您的示例中,您可以简单地通过使用“ doMath”作为方法名称来解决难题。那是动词短语。(“ do xyz”是一种常用的约定,尽管它不能很好地“阅读”。)

但是,您似乎可以并且应该避免将命令名称硬连接到方法名称中。看一下“命令”设计模式:http : //www.fluffycat.com/Java-Design-Patterns/Command/

从长远来看,您将需要学习设计模式,但是对于初学者来说,它们可能太多了。