Why using a variable name “temp” considered a bad practice?

前端 未结 2 2123
抹茶落季
抹茶落季 2021-02-14 22:31

Whenever i put up a code for review from professional programmers they tend to point out that \"using a variable named temp is bad\" but no one seems to know why.

Why is

2条回答
  •  梦谈多话
    2021-02-14 22:57

    temp indeed doesn't mean anything useful. A better question is: does it have to?

    Without knowing the context (how is it used in your code?), it's hard to say what it's for, and whether temp is a good name. If you use a variable often or non-locally, the name must be descriptive. A name like temp can be fine if you use it, say, three times in three adjacent lines.

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

    It's immediately obvious what this function should do (from its name) and what it actually does (from its structure). In this specific case, I strongly prefer short (and automatically nondescript) names. I'd even say that temp may be a little too long here ;)

    However:

    • If you use the variable often, it's apparently important, and 'deserves' a better name.
    • If you use the same variable in places in the function that are far apart (non-local), it helps programmers to 'remember' the meaning when you give it a recognizable name.

提交回复
热议问题