2010-01-16 58 views
0

对于具有单位和值的方法参数名称有以下两种选择,您更喜欢哪种?为什么? (我用Java语法,但我的问题将适用于大多数语言)。方法参数名称应该用名称指定它的单位吗?

public void move(int length) 

public void move(int lengthInMetres) 

选项(1)似乎是足够了,但我发现,当我m编码/打字,我的IDE可以告诉我我需要一个长度值,但是我通常必须打破步伐并查找方法的doco来确定单位,以便我传递正确的值(而不是米而不是米例如)。这可能是一个烦人的思维过程中断。选项(2)缓解了这个问题,但可以是冗长的,特别是如果你的单位是metresPerSecondSquared或者其他的。你认为哪一个最好?

回答

0

我会建议尽可能使你的参数(和方法)名称尽可能清晰,即使它们变得罗嗦。如果您在6个月的时间内查看或使用该代码,或者其他人必须查看您的代码,则会很高兴。
如果您认为名称变得太长,请考虑对它们进行重新说明。在你的例子中,你可以使用参数名称int Metres,这可能会足够清楚。考虑更改方法名称,例如public void moveMetres(int length)

在Visual Studio中,当您在方法定义上方输入3个注释符号时生成的XML注释将在您在其他位置使用该方法时显示在Intellisense提示中。其他IDE可能具有相似的功能。

应谨慎使用缩写。如果绝对必要,只使用通用的和/或相关的行业标准缩写并保持一致,即使用相同的缩写无处不在

退后一步。编写代码然后转到其他的东西。第二天回来,检查名称是否仍然清晰。

同行评审也可以提供帮助。问问知道编程语言的人(或者只是逻辑思考),而不是具体的功能,如果你的命名方案足够清晰或者有助于头脑风暴替代方案。他们可能是未来必须维护你的代码的可怜的汁液!

0

我更喜欢第二种方法(即lengthInMeters),因为它准确地描述了该方法所需的输入。事实上,当你只是编写代码时,发现单元的混淆意味着当你(或某个人)稍后查看同一段代码时会更困惑。关于变量名问题更长,您可以找到缩写的方法(比如“mtrsPerSecondSquared”)。

同样在防御第二种方法中,书Code Complete提到了一项研究表明,当变量名称平均为10到16个字符时,调试程序所需的努力被最小化。

相关问题