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

确定在Java中用于方法名称的动词

许寒
2023-03-14
问题内容

我知道命名约定之所以重要,有许多原因,其中大部分与使您的代码更具可读性,更易于集成到更大的项目等有关。在Java中,大多数约定都要求方法名称以lowerCamelCase动词开头。

我的问题是:如何选择动词来开始方法名称?

为了使这个问题不再那么含糊,我经常选择一种方法名称作为描述输出的名词。在这种情况下,我通常追加通用动词如之间徘徊getgeneratecalculate,等在名词的字体,以符合动词规则。是否有关于何时使用的通用指南?

这是一个例子。我有一个方法,取double[] arrayint k并返回double[] newArray,它是的长度k移动平均值array,即newArray[i] = (array[i-k+1]+...+array[i])/k带有一些伪造以使newArray长度与相同array。我的倾向是调用此方法,movingAverage因为这是它返回的内容,但是由于它不是以动词开头的,所以就退出了。我应该调用此方法,getMovingAverage还是generateMovingAveragecalculateMovingAverage或者,它是否真的无关紧要?


问题答案:

我通常会问自己:

这种方法在做什么?

答案决定了应调用什么方法。当然,它完全独立于程序员。

注意: 如果您不能 简洁地 描述该方法的作用,则可能是做得太多,应该分开。

选择方法的动词:

  • 执行计算: 计算
  • 检索数据: 获取检索
  • 变异资料: 设定变更
  • 删除数据: 删除删除
  • 转换: 转换
  • 启动动作: 启动启动
  • 停止动作: 停止取消

现在,并不是所有的方法都以动词开头。但他们确实不需要。如果您阅读:

... myString.length();

要么

... myArray.size();

您知道发生了什么-不需要动词。这对于Java层次结构中更高级别的许多类方法都是如此。集合,数学等。只要名称准确传达方法的作用,就可以了。



 类似资料:
  • 问题内容: 我在看下面的代码,发现有些奇怪: 我期望这样做会导致编译错误,因为带有“ y”的不仅仅属于方法声明。为什么这样有效?我不知道如何或应该调用此代码。 运行它时,它还会产生,为什么在序列构造函数之前调用get? 问题答案: 这个: 是一个 静态初始化块 ,并在加载类时调用。您可以根据需要在类中添加任意数量的对象,它们将按照其出现顺序(从上到下)执行。 这个: 是一个 初始化块 ,并将代码复

  • 本文向大家介绍JavaScript 动态方法名称,包括了JavaScript 动态方法名称的使用技巧和注意事项,需要的朋友参考一下 示例 在命名方法时也可以评估表达式,类似于使用可以访问对象属性的方法[]。这对于具有动态属性名称很有用,但是通常与符号结合使用。            

  • 问题内容: 我想知道是否有办法知道运行时正在执行的方法名称? 例如,在一个方法内部,我想知道我正在执行该方法。 问题答案: 从JDK1.5开始,您不需要Exception即可获取StackTrace, 可以使用以下命令获取它:

  • 问题内容: MySQL具有方便的功能: 这可用于为应用程序创建简单但非常具体的基于名称的锁。但是,它需要数据库连接。 我有很多情况,例如: 简单地同步此方法是没有意义的,因为,例如,如果在此期间同时为用户B调用了此方法,则用户B无需等待用户A完成操作就可以开始操作,而只需为用户进行操作A和功能X的组合需要等待。 使用MySql锁,我可以执行以下操作: 由于Java锁定基于对象,因此似乎需要创建一个

  • 本文向大家介绍用Java显示当前方法名称,包括了用Java显示当前方法名称的使用技巧和注意事项,需要的朋友参考一下 包含由当前堆栈跟踪元素表示的执行点的当前方法名称由java.lang.StackTraceElement.getMethodName()方法提供。 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程序。 该方法用于获取当前方法名称,该名称包含由当前堆栈跟踪元素表示的执行点

  • 我正在实现一个 JCA 入站资源适配器,以允许 EIS 将消息发送到部署在 Java EE 应用程序服务器上的应用程序。 应该只有使用我的注释进行了注释的EJB才是可访问的,所以我使用了一个javax . enterprise . inject . SPI . extension来观察ProcessAnnotatedType,然后我可以使用它来存储关于部署在应用服务器上的使用我的注释进行了注释的所