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

Why the heavy use of abbreviation in C/C++?

本文关键字:缩写 C++ 为什么      更新时间:2023-10-16

我最近一直在读C和C++,忍不住动摇了C/C++程序员在变量和函数名中过度使用缩写的感觉。我看不出为什么这是有益的,因为两者都是编译语言。实际上,我遇到的所有代码都比其他语言更多地使用缩写(当然,这是我的个人经验)。

因此,问题变成了这样;你想在C/C++中使用缩写有什么原因吗?使用较长的变量名是否存在性能问题,或者这只是一种约定?

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

这主要是一种约定。

有一些历史性的需求,因为早期的C编译器不能保证标识符在某些情况下对超过8个(甚至6个)字符具有重要意义(导致编译器认为MyFantasticFooMyFantasticBar相等)。现代编译器没有如此严格的限制,请参阅以下答案以了解详细信息。

今天,我认为这更像是一个惯例/风格的问题,C代码通常很简洁。

这是编程早期的遗留问题,在人们意识到编程的困难部分不是写代码,而是读代码之前

首先,我不认为这是一般规则;饰演Steve Jessop在评论中提醒我们,其他语言,如APL,传统上使用更短的名称,而Fortran(至少在我用过)将名称的最大长度限制为六个。

不仅仅是语言,我认为领域发挥了作用。对于例如,Unix程序员倾向于使用比Windows更短的名称程序员,毫无疑问是因为API使用的系统名称(至少部分是因为Unix要老得多,以及早期的链接无法处理超过六个或八个符号—尽管这并不能解释creatcreate)。数学也有缩短的传统名称:使用类似index的名称,而不是i作为索引在处理数学表达式时,使代码不那么清晰易懂,因为数学中的第一个索引是CCD_ 7。许多其他域具有更多或不太成熟的缩写词:当我工作的时候在电信领域,规范文档(来自客户)谈到TP和CX,而不是端点和交叉点连接;在我目前的银行业环境中,甚至在外部对于一个程序,没有人会写"信用违约掉期"或"债务抵押债券"而不是简单的CDS或CDO。因此,如果您在C++中看到较短的名称,可能是因为你看到的代码可以做不同的事情来自一个即使在编程环境。