Java中的长变量/方法名称有什么固有的错误吗?

时间:2012-10-07 03:21:39

标签: java

  

可能重复:
  When is a Java method name too long?

我知道这可能是个人意见的问题,但我想知道什么是标准做法以及什么是不赞成的。

我在大学的一位教授似乎总是使他的变量和方法名称尽可能短(例如getAmt()而不是getAmount)。

我不反对这一点,但就个人而言,如果它增加描述性,我宁愿让我的时间更长一些,所以阅读它的人不必检查或参考文档。

例如,我们制作了一个方法,给出一个球员列表,返回得分最多的球员。我制作了方法getPlayerWithMostGoals(),这是错的吗?我努力选择一种方法让它缩短一段时间,但后来我想“为什么?”。它清楚地说明了这一点,Eclipse可以在我输入时自动完成它。

我只是想知道短变量名称是否是过去的一部分,因为需要尽可能小的一切才能提高效率。这还是一个要求吗?

5 个答案:

答案 0 :(得分:12)

没有什么本质上是错误的,最好是使它描述而不是神秘。然而,对于试图做太多或可能重构的方法来说,它通常是代码嗅觉

不好:getActInfPstWeek

好的:getAccountInformationForPastWeek()

更好getAccountInformation(DateRange range)

答案 1 :(得分:8)

我更喜欢使用长变量/方法名称来描述正在发生的事情。在你的情况下,我认为getPlayerWithMostGoals()是合适的。当我看到一个像“amt”这样的短变量名称时,我很困扰我,我必须把它转移到我脑海中(变成“金额”)。

答案 2 :(得分:0)

getAmt()这样的东西看起来像C++代码样式......在java中通常使用更具描述性的名称。

你的教授提出了一个很好理解的方法。但这是非常流行的词。这不是一般情况。使用你的“longWordStyle”风格,它更像是java。

答案 3 :(得分:0)

根据标准,建议使用较长的描述性名称,使其在较长时期内更具可读性和可维护性。如果您使用非常短的命名,例如变量为a,您将忘记自己,该变量在某个时间后意味着什么。这在更大的程序中变得更成问题。虽然我在使用getAmt()代替getAmount()时没有遇到任何问题,但绝对getPlayerWithMostGoals()getPlayer()更适合。

答案 4 :(得分:0)

长名,短名,一切都取决于。有很多方法和讨论,但实际上方法的名称应该反映其意图。这有助于您进一步了解代码。举个例子。

public void print(String s)

漂亮的名字,简洁,简洁......不是吗?嗯,实际上没有,如果没有文件告诉你“打印”是什么意思。我说System.our.println是一种打印字符串的方法,但您可以将打印定义为将字符串保存在文件中或在对话框中显示。

public void printInConsole(String s)

现在没有误解。大多数人都可以告诉你,你可以阅读方法的JavaDoc来理解它,但是......你是否会阅读一个完整的段落来决定你要使用的方法是否符合你的需要?

IMO,方法应该至少描述一个动作和一个实体(如果它们与一个实体相关)。 “长”也是一种感觉......但真正的长名称使得代码难以构建。这是获得适当平衡的问题。

根据经验,我无法使用JavaDoc来进一步描述方法的意图。描述性名称可能很长,但奖励是可读性和自我解释性代码。