Java方法名过长的标准是什么?

180
在过去的几周中,我看到有些人为一个方法或类使用非常长(50个字符)的名称,通常是在前提下认为这样可以提高可读性。我的看法是,像这样的长名称表明我们正在尝试在一个方法或类中做太多的事情,如果我们需要使用这样的长名称,那么这是一个指标。不过我想知道你们对此有什么看法。
例子:
getNumberOfSkinCareEligibleItemsWithinTransaction

20
是的,这是一种“代码异味”(code smell)... http://c2.com/cgi/wiki?LongMethodSmell - Dan Rosenstark
25
当字符数超过666个时,就意味着出现了问题。 - Thomas Eding
9
在你的例子中,“长方法”的相反词是“短方法”,被认为是一件好事。所以很明显它不是指方法名称,而是指代码行数(或类似的东西)。例如,f()是一个非常短的函数,但这肯定不是一个好习惯...你应该告诉一些编程数学家们 :) - sfussenegger
3
@sfussenegger,这是真的。但我打赌方法名长度和方法长度之间存在相关性。f()可能不是一个很好的函数,但$()在Javascript方法世界中就像一个摇滚明星。 - Dan Rosenstark
7
@yar,你提供的链接是指方法长度(即代码行数),而不是方法名称的长度。 - Thorbjørn Ravn Andersen
显示剩余14条评论
21个回答

0
一个名字如果符合以下条件就太长了:
  • 需要超过1秒的时间来阅读
  • 占用的RAM比你为JVM分配的还多
  • 被荒谬地命名了
  • 如果一个更短的名字完全能表达它的意思
  • 在你的IDE中换行了

老实说,这个名字只需要向将使用它作为公共API方法或必须在您离开后维护代码的开发人员传达其目的即可。只需记住KISS(保持简单愚蠢)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接