我最近一直在阅读C和C ++,并且无法摆脱C / C ++程序员在变量和函数名称中过度使用缩写方式的感觉。我不明白为什么这会有益,因为两者都是编译语言。实际上我遇到的所有代码都使用缩写而不是其他语言(当然,我的个人经验)。
那么问题就变成了这个;你有没有想在C / C ++中使用缩写的原因?使用较长的变量名称是否存在性能问题,还是只是一种约定?
编辑:看起来我在这里开了一罐蠕虫。我希望得到一个是/否答案,而不是关于编码风格的讨论。答案 0 :(得分:15)
这主要是一种惯例。
有一些历史需求,因为早期的C编译器并不保证标识符在某些情况下对超过8个(或者甚至6个)字符有重要意义(导致MyFantasticFoo
和MyFantasticBar
被认为是等于编译器)。现代编译器没有这么严格的限制,详见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 ++中看到更短的名称,可能是因为
你正在寻找能做不同事情的代码
来自一个领域,其中缩写通常甚至在
编程环境。