在IT技术中,常量通常以k
开头进行前缀命名(例如k_pi
)。但是,这里的k
到底代表什么意思呢?
是否仅仅是因为c
已经代表了char
而选择使用k
?
在IT技术中,常量通常以k
开头进行前缀命名(例如k_pi
)。但是,这里的k
到底代表什么意思呢?
是否仅仅是因为c
已经代表了char
而选择使用k
?
这是一个历史上的怪异现象,在那些盲目奉行自己不理解的编码标准的团队中仍然很常见。
很久以前,大多数商业编程语言都是弱类型的;我们现在认为理所当然的自动类型检查仍然主要是学术课题。这意味着编写存在类别错误的代码很容易;它可以编译和运行,但会以难以诊断的方式出错。为了减少这些错误,Simonyi建议您每个变量名都以标记开头来指示其(概念性)类型,从而更容易发现其被误用的情况。由于他是匈牙利人,所以这种做法被称为“匈牙利标记法”。
后来,随着类型化语言(特别是C语言)的普及,一些白痴听说这是个好主意,但不理解它的目的。他们提议对每个变量添加冗余标记,以指示其声明的类型。它们的唯一用途是使检查变量类型更容易;除非有人更改了类型并忘记更新标记,在这种情况下,它们会起到积极的有害作用。
第二种(无用的)形式更容易描述和执行,因此它被许多团队盲目采用;几十年后,您仍然会偶尔看到它被使用甚至受到提倡。
“c”是类型“char”的标记,因此它不能用于“const”;因此选择了“k”,因为它是德语中“konstant”的第一个字母,在数学中广泛用于常量。
我没有看到过这种情况,但可能与某些语言(特别是日耳曼语系的语言)对单词constant的拼写有关 - konstant。
不要使用匈牙利命名法。如果您想让常量突出显示,请将它们全部大写。
另外一点:Google编码标准中有很多不良实践(从代码可读性的角度来看)。这就是当你通过委员会设计编码标准时所发生的事情。
const int MYCONST = 3; if (MYCONST == x) {...}
- Zac HowlandK代表着“konstant”,是constant(常量)的一个谐音词。它与编码风格有关。
这只是个人偏好,一些人和项目使用它们,这意味着他们也采用了匈牙利命名法(Hungarian notation),但很多人并不采用。这并不那么重要。
如果您不确定前缀或样式的含义,请始终检查项目是否有编码样式参考并阅读该参考。
我认为它的意思是系数(就像数学中的k一样)
这是一种惯例,可能来自数学。但也有其他关于常量的建议,例如Kernighan和Ritchie在他们的书《C语言》中建议将常量名称写成大写字母(例如#define MAX 55)。