为什么使用变量名称" temp"被认为是不好的做法?

时间:2014-07-20 11:40:03

标签: language-agnostic

每当我提出代码供专业程序员审阅时,他们倾向于指出"使用名为temp的变量是错误的"但似乎没有人知道为什么。

为什么它被认为是坏的?

2 个答案:

答案 0 :(得分:7)

这是因为temp暗示了变量的长寿(临时),但没有提及其内容的含义或意义。变量通常最佳命名,以反映其基本值的意图。

答案 1 :(得分:6)

temp确实没有任何意义。一个更好的问题是:它必须吗?

在不知道上下文(如何在代码中使用?)的情况下,很难说它是什么,以及temp是否是一个好名字。 如果您经常使用或非本地使用变量,则名称必须是描述性的。如果您在三个相邻行中使用它,例如三次,则temp这样的名称就可以了。< / p>

void swapIntPointers(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

这个函数应该做什么(从它的名字)它实际做了什么(从它的结构)。在这种特定情况下,我强烈首选短(并自动描述非名称)。我甚至说temp在这里可能有点太长了;)

然而:

  • 如果您经常使用变量,那么它显然很重要,并且值得拥有。一个更好的名字。
  • 如果你在函数中相隔很远的地方(非本地)使用相同的变量,它可以帮助程序员记住&#39;当你给它一个可识​​别的名字时的含义。