Joh*_*ski 32 c c++ objective-c hungarian-notation prefix
常量是以k
(例如k_pi
)为前缀的常见做法.但这k
意味着什么?
它只是c
已经意味着char
什么?
Mik*_*our 72
这是一个历史上的奇怪现象,在喜欢盲目应用他们不理解的编码标准的团队中仍然是常见的做法.
很久以前,大多数商业编程语言都是弱类型的; 自动类型检查,我们现在认为理所当然,仍然主要是一个学术主题.这意味着很容易编写带有类别错误的代码; 它会编译运行,但却以难以诊断的方式出错.为了减少这些错误,一个名为Simonyi的小组建议您使用标签开始每个变量名称以指示其(概念)类型,以便更容易发现它们何时被滥用.由于他是匈牙利人,这种做法被称为"匈牙利符号".
一段时间后,随着打字语言(特别是C)越来越受欢迎,一些白痴听说这是一个好主意,但不明白其目的.他们建议为每个变量添加冗余标记,以指示其声明的类型.它们的唯一用途是更容易检查变量的类型; 除非有人更改了类型并忘记更新标签,否则他们会有积极的伤害.
第二种(无用的)形式更容易描述和执行,因此被许多团队盲目采用; 几十年后,你仍然不时地看到它被使用,甚至是提倡.
"c"是"char"类型的标记,因此它也不能用于"const"; 所以选择"k",因为这是德语中"konstant"的第一个字母,并被广泛用于数学中的常数.
这意味着该值是 k 常数。
不要使用匈牙利表示法。如果您想让常量脱颖而出,请将它们全部大写。
附带说明一下:Google编码标准中有很多东西都是不好的做法(就代码的可读性而言)。这是由委员会设计编码标准时发生的情况。