【发布时间】:2010-11-11 22:48:19
【问题描述】:
我自己已经使用了超过 15 年,但我真的不记得我是如何/在哪里养成这种习惯的。由于它非常普遍,我很想知道是谁最初建议/推荐将这些名称用于整数循环计数器(是 K&R 的书吗?)。
【问题讨论】:
-
我个人讨厌这种约定,主要是因为“i”和“j”在小写中看起来非常相似。我之前在嵌套循环中将它们倒退,很难发现问题。
标签: naming-conventions loop-counter
我自己已经使用了超过 15 年,但我真的不记得我是如何/在哪里养成这种习惯的。由于它非常普遍,我很想知道是谁最初建议/推荐将这些名称用于整数循环计数器(是 K&R 的书吗?)。
【问题讨论】:
标签: naming-conventions loop-counter
i = 整数
来自 Fortran,其中整数变量必须以字母 I 到 N 开头,而实变量必须以其他字母开头。因此,我是第一个也是最短的整数变量名。 Fortran 是最早被广泛使用的编程语言之一,程序员使用它所养成的习惯也延续到了其他语言。
(来自:Why are we using i as a counter in loops)
显然,j 和 k 只是您最喜欢的字母表中的下一个。
【讨论】:
I J 和 K 在 FORTRAN 中是整数,因为有使用这些字母作为索引变量的约定,而不是相反。预先存在的约定来自数学。
数学家 :)
【讨论】:
FORTRAN。如果第一个字符是 I、J、K、L、M 或 N,则变量是整数(即可以保存整数值)。否则,它是真实的(即可以根据浮点约定保存一个值)。
【讨论】:
这在学校级别和大学级别的代数练习中很常见(尽管 x 和 y 在那里也发挥了作用:-)
另外,如果我没记错的话,早期的编程语言(如 FORTRAN 的早期版本)使用变量命名的方式是首字母很重要,这可能起到了一定的作用。例如,正如this page 所说:
FORTRAN 变量是一种 指计算机的一个单元。 变量名称必须符合 以下规则:
- 名称可以是一到六个字符。
- 第一个字符必须是字母。
- 第一个以外的字符可以是字母或数字。
- 如果第一个字符是 I、J、K、L、M 或 N,则变量为整数 (即可以保存一个整数值)。 否则,它是真实的(即可以持有 根据浮点数的值 公约)。
【讨论】:
我一直认为 i 代表在数学求和公式中使用的索引。
【讨论】:
来自Loop Counter 的维基百科
通用标识符命名约定 是让循环计数器使用 变量名 i、j 和 k(等等 如果需要),我会是最 外循环,j 下一个内循环, 等等。相反的顺序也被使用 一些程序员。这种风格是 普遍认为起源于 从 FORTRAN 的早期编程开始, 这些变量名开始的地方 这些字母含蓄地 声明为具有整数类型, 循环的明显选择也是如此 只是暂时的计数器 必需的。这种做法也可以追溯到 进一步的数学符号 求和和乘法的索引 通常是 i、j 等。
【讨论】: