当前位置: 首页 > 面试题库 >

返回布尔值的Java方法的命名约定(无问号)

东郭思远
2023-03-14
问题内容

我喜欢用其他语言在方法/函数名称的末尾使用问号。Java不允许我这样做。作为一种解决方法,我还能如何用Java命名布尔返回方法?使用ishasshouldcan在好一些情况下,方法声音的前端。是否有更好的方法来命名此类方法?

例如,createFreshSnapshot?


问题答案:

惯例是用名字问一个问题。

以下是在JDK中可以找到的一些示例:

isEmpty()

hasChildren()

这样,名称的读取方式就像它们的末尾带有问号一样。

收藏集是否为空?
这个节点有孩子吗?

然后,true是,是,false不是。

或者,您可以像断言一样阅读它:

集合为空。
该节点有孩子

注意:
有时您可能想为方法命名,例如createFreshSnapshot?。没有问号,该名称意味着该方法应创建快照,而不是检查是否需要快照。

在这种情况下,您应该重新考虑您的实际要求。诸如此类的isSnapshotExpired名字更好,它传达了该方法在调用时将告诉您的内容。遵循这样的模式也可以帮助保持更多的功能纯净而没有副作用。

如果你做一个
谷歌搜索的isEmpty()Java
API中,你会得到很多结果。



 类似资料:
  • 好的,我的问题是关于布尔返回。对于我的Comp-Sci作业,我必须使用多种方法制作一个课程注册程序,其中之一就是添加课程方法。基本上,在目录中搜索类,如果匹配,则将其添加到学生计划中,并返回布尔值true。我这么做了,但出于某种原因,这给了我一个错误。以下是代码: 为什么它不能识别布尔返回值?是因为我把它们放在了一个圈里吗?

  • 我尝试使用Mockito使用JUnit测试测试以下方法: } 然而,我在以下部分遇到了问题: 尽管我已经嘲笑了这个.petRepository.findById(id),但由于某种原因,isPresent()返回了false。这是我对测试的初始化: 因此,以下测试失败,即使它应该通过: 为了解决这个问题,我尝试模仿isPresent()方法: 但是我得到了下面的异常: org.mockito.ex

  • 返回 Stream 的方法是否有命名约定?我发现的唯一提及是在S.O(最后一段)上的答案,但我不明白它基于什么。

  • 这是一个布尔方法,是我作业的一小部分。我想根据输入和记录之间是否匹配来返回true或false。我想我遇到了语法问题。 这是该方法的代码,但始终有红线指示我应该在代码中添加return,否则将该方法更改为void。但我已经在if语句中添加了return true。

  • 好的,这是我的第一篇帖子。首先,我一直试图自己解决这个问题,但已经过了几个小时了,我还是迷路了。我试着在网上搜索,但没有找到足够具体的答案。以下是本项目的要求: 这是我到目前为止所拥有的: 现在,我试着改变各种事情。比如使用firstLastCheck(nameofArrayVariable)。通常它需要一个标识符,但如果我让它工作,它就不能将数组int作为布尔值返回。我还感到困惑的是,没有指令首

  • 我编写了以下代码来模拟一个名为ValidatorUtil的类,该类在测试中用于验证字符串,所以我编写了ValidatorUtil应该总是返回true,但它总是返回false,最终实际上调用了ValidatorUtil的isValid方法,该方法将结果返回为false。我已经尝试过所有的匹配器,比如mockito.any()和mockito.any(configurator.class)但是没有成功