42

k常量以(例如)为前缀是一种很常见的做法k_pi。但这是什么k意思?

只是c已经意味着了char吗?

4

9 回答 9

97

这是一个历史上的奇怪现象,在喜欢盲目应用他们不理解的编码标准的团队中仍然很常见。

很久以前,大多数商业编程语言都是弱类型的。我们现在认为理所当然的自动类型检查仍然主要是一个学术话题。这意味着很容易编写带有类别错误的代码;它会编译并运行,但会以难以诊断的方式出错。为了减少这些错误,一个名为 Simonyi 的小伙子建议您在每个变量名称的开头使用一个标记来指示其(概念)类型,以便在它们被误用时更容易发现。由于他是匈牙利人,这种做法被称为“匈牙利符号”。

一段时间后,随着类型语言(尤其是 C)变得越来越流行,一些白痴听说这是个好主意,但不明白它的目的。他们建议为每个变量添加冗余标签,以指示其声明的类型。它们的唯一用途是更容易检查变量的类型;除非有人更改了类型并忘记更新标签,在这种情况下它们是有害的。

第二种(无用)形式更容易描述和执行,因此被很多很多团队盲目采用;几十年后,你仍然看到它不时被使用,甚至被提倡。

“c”是“char”类型的标记,所以它不能也用于“const”;所以选择了“k”,因为这是德语中“konstant”的第一个字母,并且广泛用于数学中的常数。

于 2011-02-16T13:37:13.917 回答
30

我没见过那么多,但它可能来自某些语言(特别是日耳曼语)对constant - konstant的拼写。

于 2011-02-16T12:55:50.257 回答
9

不要使用匈牙利符号。如果您想让常量脱颖而出,请将它们全部大写。

附带说明:谷歌编码标准中有很多东西是不好的做法(就代码可读性而言)。当您由委员会设计编码标准时,就会发生这种情况。

于 2011-02-16T13:22:16.480 回答
5

我认为数学惯例是先例。k 在数学中一直用作一些常数。

于 2011-02-16T12:56:03.277 回答
4

这意味着该值是k-onstant。

于 2011-02-16T12:51:58.863 回答
1

K 代表 konstant,一个关于常数的文字游戏。它与编码风格有关。

这只是一个偏好问题,一些人和项目使用它们,这意味着他们也接受匈牙利符号,许多人不这样做。那不是那么重要。

如果您不确定前缀或样式可能意味着什么,请始终检查项目是否具有编码样式参考并阅读。

于 2011-02-16T12:58:07.813 回答
0

这是一个约定,可能来自数学。但也有其他关于常量的建议,例如 Kernighan 和 Ritchie 在他们的《C 语言》一书中建议用大写字母书写常量的名称(例如 #define MAX 55)。

于 2011-02-16T13:39:37.497 回答
0

我认为,它的意思是系数(就像数学中的 k 一样)

于 2020-09-13T09:48:33.297 回答
0

实际上,每当我在打字稿中定义常量时,我​​都会做这样的事情 -

NODE_ENV = 'production';

但最近,我看到kFlutter SDK 中使用了该前缀。k继续使用前缀cuz'对我来说很有意义,它可以帮助您的编辑器/IDE 在您的代码库中搜索常量

在此处输入图像描述

于 2022-01-06T14:59:03.663 回答