为什么在C / C ++中大量使用缩写?

时间:2012-11-21 09:27:35

标签: c++ c

我最近一直在阅读C和C ++,并且无法摆脱C / C ++程序员在变量和函数名称中过度使用缩写方式的感觉。我不明白为什么这会有益,因为两者都是编译语言。实际上我遇到的所有代码都使用缩写而不是其他语言(当然,我的个人经验)。

那么问题就变成了这个;你有没有想在C / C ++中使用缩写的原因?使用较长的变量名称是否存在性能问题,还是只是一种约定?

编辑:看起来我在这里开了一罐蠕虫。我希望得到一个是/否答案,而不是关于编码风格的讨论。

3 个答案:

答案 0 :(得分:15)

这主要是一种惯例。

有一些历史需求,因为早期的C编译器并不保证标识符在某些情况下对超过8个(或者甚至6个)字符有重要意义(导致MyFantasticFooMyFantasticBar被认为是等于编译器)。现代编译器没有这么严格的限制,详见this answer

今天,我认为它更像是一个约定/风格问题,C代码通常很简洁。

答案 1 :(得分:6)

从编程的早期开始,这是一个遗留问题 - 在认识到编程的困难部分不是编写代码而是阅读代码之前。

答案 2 :(得分:4)

首先,我不认为这是一般规则;作为史蒂夫杰西普 提醒我们发表评论,其他语言,如APL, 传统上使用更短的名称和Fortran(至少在什么时候 我用它)将最大名称长度限制为六。

除了语言之外,我认为域名起着重要作用。对于 例如,Unix程序员倾向于使用比Windows更短的名称 程序员,无疑是因为系统API使用更短 名字(部分,至少,因为Unix比较老,而且 早期的连接器无法处理超过六个或八个 符号 - 虽然不能解释creat而不是create index)。数学也有缩短的传统 名称:使用i之类的名称,而不是i作为索引 处理数学表达式时,代码 less 清晰和解释,因为传统的象征 数学中的第一个索引是{{1}}。许多其他领域有更多或 不太成熟的首字母缩略词或缩写词:当我工作时 在电信,规范doc(来自客户)谈到 TP和CX的,而不是终止点和交叉 连接;在我目前的银行业环境中,甚至在外面 一个程序,没有人会写“信用违约掉期”或 “抵押债务债务”而不是简单的CDS或CDO。 因此,如果您在C ++中看到更短的名称,可能是因为 你正在寻找能做不同事情的代码 来自一个领域,其中缩写通常甚至在 编程环境。