【问题标题】:Incremental variable naming convention like i, but for an inside For statement? [closed]像 i 这样的增量变量命名约定,但是对于内部 For 语句? [关闭]
【发布时间】:2010-06-09 13:02:11
【问题描述】:

这是一个例子:

for(int i = 0; i < 10;i++)
{
   for(int ? = 0;? < 10 ; ?++)
   {
   }
}

我通常在第二个循环中使用“o”,但有什么标准吗?

想法?

【问题讨论】:

标签: for-loop coding-style naming-conventions


【解决方案1】:

从逻辑上讲,您会使用“j”,但最好是使用有意义的东西,如“行”和“列”,如果可以的话。如果您想开玩笑,请使用“c”或“记事本”

【讨论】:

    【解决方案2】:

    当我在学校时,我们总是使用 j,但我不相信有一个标准。如果这是您自己的项目,请使用您想要的任何内容并保持一致。如果这是一个公司项目,请遵循您的开发标准文档设定的标准(您有吗?)

    【讨论】:

      【解决方案3】:

      标准?不。i,j,k,l,m,n 很受欢迎(可能是对旧 FORTRAN 规则的回归)。

      不过,提个建议,即使是微小的迭代循环,也不要使用单字符变量。原因?当那个小循环长大并包含 20 或 30 行代码并且有人决定重构时,找到所有这 1 个字符的变量名称将会很糟糕。终有一天,你会感谢我的:)

      【讨论】:

      • 如此有意义的名称,否则 Index 或 InnerIndex 但从不单字符...听起来不错,但很难输入:P
      • 即使像 iItr、jItr、kItr 这样简单的东西也可以轻松替换。
      【解决方案4】:

      如果我需要嵌套循环,我会尝试为它们找到有意义的名称,否则它很快就会变得非常混乱。如果真的没有有意义的名字,我会经常将它们命名为IndexInnerIndex,这样就可以立即看出哪个是哪个。

      【讨论】:

        【解决方案5】:

        我正在使用:

          'k'
        

        我的老师使用“j”,因为它是“i”之后的第一个字母。但我发现它没有必要更难阅读。但是下一个字母“k”更容易看到。使用“k”加快阅读速度。

        for(int i = 0; i < 10;i++)
        {
            for(int k = 0; k < 10 ; k++)
            {
            }
        }
        

        【讨论】:

          【解决方案6】:

          我使用匈牙利语“k”加上计数器应该具有的任何物理含义。

          for (int kRow = ...)
          {
            for (int kCol = ...)
            {
            }
          }
          

          有时我会使用 k,m,n,p,q,r,s,t,w,x,y,z 如果索引仅表示排列(即它们都具有完全相同的物理含义)。

          我通常不使用 i,j 的原因与电气工程师不使用 i 表示虚数的原因相同。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-09-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-11-15
            相关资源
            最近更新 更多