问题描述
我喜欢在其他语言的方法/函数名称的末尾使用问号. Java不允许我这样做.作为一种解决方法,我还能如何用Java命名布尔返回方法?在某些情况下,在方法前面使用is
,has
,should
,can
听起来不错.是否有更好的方法来命名此类方法?
I like using question mark at the end of method/function names in other languages. Java doesn't let me do this. As a workaround how else can I name boolean returning methods in Java? Using an is
, has
, should
, can
in the front of a method sound okay for some cases. Is there a better way to name such methods?
例如createFreshSnapshot?
For e.g. createFreshSnapshot?
推荐答案
惯例是以名称提出问题.
The convention is to ask a question in the name.
以下是一些可以在JDK中找到的示例:
Here are a few examples that can be found in the JDK:
isEmpty()
hasChildren()
这样,名称的读取方式就像它们的末尾带有问号一样.
That way, the names are read like they would have a question mark on the end.
然后,true
表示是,false
表示否.
And, then, true
means yes, and false
means no.
或者,您可以将其读为断言:
Or, you could read it like an assertion:
注意:
有时您可能想为方法命名,例如createFreshSnapshot?
.没有问号,该名称意味着该方法应创建快照,而不是检查是否需要快照.
Note:
Sometimes you may want to name a method something like createFreshSnapshot?
. Without the question mark, the name implies that the method should be creating a snapshot, instead of checking to see if one is required.
在这种情况下,您应该重新考虑您的实际要求.诸如isSnapshotExpired
之类的名字更好,它传达了该方法在调用时将告诉您的内容.遵循这样的模式还可以使您的更多功能保持纯净而没有副作用.
In this case you should rethink what you are actually asking. Something like isSnapshotExpired
is a much better name, and conveys what the method will tell you when it is called. Following a pattern like this can also help keep more of your functions pure and without side effects.
如果您执行使用Java API中isEmpty()
的Google搜索,您会得到很多结果.
If you do a Google Search for isEmpty()
in the Java API, you get lots of results.
这篇关于返回布尔值的Java方法的命名约定(无问号)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!