我知道命名约定之所以重要,有许多原因,其中大部分与使您的代码更具可读性,更易于集成到更大的项目等有关。在Java中,大多数约定都要求方法名称以lowerCamelCase动词开头。
lowerCamelCase
我的问题是:如何选择动词来开始方法名称?
为了使这个问题不再那么含糊,我经常选择一种方法名称作为描述输出的名词。在这种情况下,我通常追加通用动词如之间徘徊get,generate,calculate,等在名词的字体,以符合动词规则。是否有关于何时使用的通用指南?
get
generate
calculate
这是一个例子。我有一个方法,取double[] array和int k并返回double[] newArray,它是的长度k移动平均值array,即newArray[i] = (array[i-k+1]+...+array[i])/k带有一些伪造以使newArray长度与相同array。我的倾向是调用此方法,movingAverage因为这是它返回的内容,但是由于它不是以动词开头的,所以就退出了。我应该调用此方法,getMovingAverage还是generateMovingAverage,calculateMovingAverage或者,它是否真的无关紧要?
double[] array
int k
double[] newArray
k
array
newArray[i] = (array[i-k+1]+...+array[i])/k
newArray
movingAverage
getMovingAverage
generateMovingAverage
calculateMovingAverage
我通常会问自己:
这种方法在做什么?
答案决定了应调用什么方法。当然,它完全独立于程序员。
注意: 如果您不能 简洁地 描述该方法的作用,则可能是做得太多,应该分开。
选择方法的动词:
现在,并不是所有的方法都以动词开头。但他们确实不需要。如果您阅读:
... myString.length();
要么
... myArray.size();
您知道发生了什么-不需要动词。这对于Java层次结构中更高级别的许多类方法都是如此。集合,数学等。只要名称准确传达方法的作用,就可以了。