一尘不染

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

java

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

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

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

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


阅读 643

收藏
2020-12-03

共1个答案

一尘不染

我通常会问自己:

这种方法在做什么?

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

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

选择方法的动词:

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

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

... myString.length();

要么

... myArray.size();

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

2020-12-03