为什么在C/C++中大量使用缩写
Why the heavy use of abbreviation in C/C++?
我最近一直在读C和C++,忍不住动摇了C/C++程序员在变量和函数名中过度使用缩写的感觉。我看不出为什么这是有益的,因为两者都是编译语言。实际上,我遇到的所有代码都比其他语言更多地使用缩写(当然,这是我的个人经验)。
因此,问题变成了这样;你想在C/C++中使用缩写有什么原因吗?使用较长的变量名是否存在性能问题,或者这只是一种约定?
编辑:看起来我在这里打开了一个蠕虫罐头。我希望得到一个是/否的答案,而不是关于编码风格的讨论。
这主要是一种约定。
有一些历史性的需求,因为早期的C编译器不能保证标识符在某些情况下对超过8个(甚至6个)字符具有重要意义(导致编译器认为MyFantasticFoo
和MyFantasticBar
相等)。现代编译器没有如此严格的限制,请参阅以下答案以了解详细信息。
今天,我认为这更像是一个惯例/风格的问题,C代码通常很简洁。
这是编程早期的遗留问题,在人们意识到编程的困难部分不是写代码,而是读代码之前
首先,我不认为这是一般规则;饰演Steve Jessop在评论中提醒我们,其他语言,如APL,传统上使用更短的名称,而Fortran(至少在我用过)将名称的最大长度限制为六个。
不仅仅是语言,我认为领域发挥了作用。对于例如,Unix程序员倾向于使用比Windows更短的名称程序员,毫无疑问是因为API使用的系统名称(至少部分是因为Unix要老得多,以及早期的链接无法处理超过六个或八个符号—尽管这并不能解释creat
create
)。数学也有缩短的传统名称:使用类似index
的名称,而不是i
作为索引在处理数学表达式时,使代码不那么清晰易懂,因为数学中的第一个索引是CCD_ 7。许多其他域具有更多或不太成熟的缩写词:当我工作的时候在电信领域,规范文档(来自客户)谈到TP和CX,而不是端点和交叉点连接;在我目前的银行业环境中,甚至在外部对于一个程序,没有人会写"信用违约掉期"或"债务抵押债券"而不是简单的CDS或CDO。因此,如果您在C++中看到较短的名称,可能是因为你看到的代码可以做不同的事情来自一个即使在编程环境。
- 一位朋友将模板函数缩写为clang和gcc
- 如何编写一个完美的缩写函数模板?
- AFT(缩写函数模板)有什么争议?
- 带有逻辑 OR 运算符的 if 条件的缩写?
- 自动在编译时如何将缩写与长期区分
- 如何在自己的定义中缩写类名?
- 缩写对成员函数期望引入类型(ENUM类)的论点
- 将字符串与其缩写匹配
- 为什么在C/C++中大量使用缩写
- 私有类名缩写技术?
- 用于在函数内调用命名空间的任何缩写形式
- 如何为名称空间提供缩写
- 缩写类型名称长长与长长整数,是否符合标准
- 缩写函数在C++中的地位如何?
- 将状态的输入转换为缩写
- 模板参数的缩写(Vector3 而不是 Vector<3>)
- 缩写类中定义的类型的全名
- 在C++中缩写 for 循环
- std::move(std::unique_ptr()) 组合是否有标准缩写
- 将表达式缩写为标识符