我应该在嵌套for循环的第二个整数上使用哪些命名约定?

时间:2012-02-23 23:46:41

标签: naming-conventions

我对编程很陌生,我只是想知道在下面的例子中我在这段代码中使用的第二个整数的适当名称

for (int i = 0; i < 10; i++)
{
    for (int x = 0; x < 10; x++)
    {
    //stuff
    }
}

我通常只是将它命名为x,但我觉得这很快就会让人感到困惑。这种事情有标准名称吗?

4 个答案:

答案 0 :(得分:5)

根据您要迭代的内容,上下文可能很容易或明显地命名:

for(struct mail *mail=inbox->start; mail ; mailid++) {
    for (struct attachment *att=mail->attachment[0]; att; att++) {
        /* work on all attachments on all mails */
    }
}

对于i对外部循环变量最有意义的情况,约定使用jkl等。

但是当你开始筑巢时,要更加注重有意义的名字。你会在六个月内感谢自己。

答案 1 :(得分:1)

您可以通过进行方法调用来选择减少嵌套。在此方法内部,您将使用名为i的本地变量。

for (int i = 0; i < 10; i++)
{
    methodCall(array[i], array);
}

我假设您需要传递外部循环中位置i的元素以及要在内部循环中迭代的数组 - 这是一个假设,因为您实际上可能需要不同的参数。 / p>

与往常一样,你应该测量它的性能 - 在循环中进行方法调用不应该有很大的开销,但这取决于语言。

答案 2 :(得分:0)

就我个人而言,我觉得你应该给变量提供有意义的名字 - 这里ix没有任何意义,也不会帮助你在3个月内理解你的代码,此时它会在你身上显示为由阅读障碍的猴子写的代码。

命名变量,以便其他人可以理解您的代码尝试完成的任务。从长远来看,您将节省时间。

答案 3 :(得分:0)

既然你说你刚开始,我会说尝试多种风格是有益的。

就您的示例而言,我的建议只是将x替换为j 有大量的实际代码将使用i,j和k的约定来表示单字母嵌套循环变量。

还有更多使用更有意义的名字。

但是看起来像你的例子要少得多。

所以你可以认为它向前迈进了一步,因为你的代码看起来更像真实的代码。