当前位置: 华文星空 > 知识

为什么c/cpp语言的函数好像没有按照驼峰命名法呢?

2021-12-03知识

想起一个笑话,腾讯提供的接口里面,你能发现三种命名方式混在一起

有驼峰caseCamel,也有sanke_case就下划线,还有case-kebab就横杆

混乱不堪,相比之下,阿里的接口要正规一点,极少出现三种混在一起的命名方式,基本上都是驼峰

原因多半跟阿里里面java开发比较多有关系

c/c++这种命名啊,与其说是自由,不如说是混乱,就是在早期,没有规定也没有约定俗成,所以每个库的作者就根据自己的喜好,用自己喜欢的命名方式来命名了,所以就会同时出现驼峰啊,下划线啊,横杆啊这些混在一起的情况,你看很多源码甚至有两个下划线开头的表达__更有甚者还有三个___

但是java诞生的时候,它的目的就是要解决c++带来的很多问题,最早就叫做c++++- -嘛,java之所以诞生就是因为一堆人用c++用不下去了,太乱了,所以他们需要发明一个语言,来约束一下各种自由的表达,所以java用驼峰还会跟文件名等有关系,比如文件名称必需跟类的名字相同相符,否则报错,等到java诞生时候,对于代码的各种命名规范,已经有了很多成熟的经验,java就拿来用了,后面诞生的很多语言,比如dart,swift,scala,kotlin什么,在命名上,基本上都保持跟java一致,普遍都用了驼峰,对下划线和横杆的使用都比较节制

而且早期机器性能所限,那时候方法名长度都有限制,所以c里面很多函数都是短短几个字母的缩写,后面随着机器性能的提升,方法函数类名称的长度就没有限制了,长一点短一点没有关系,所以你会看到大量书写完整的单词,这就是java的好处,你对英语熟悉的话,看java代码,大部分时候就跟看英语没啥区别

你看c/c++代码,也不用心理负担那么大,不要太过于考虑命名规范的问题,它没有这个命名规范,这也是后来为什么发明java的一个原因,没有规范就容易造成混乱,所以最早发明java的那帮人,搞c++搞不下去,才自己发明了一个语言来简化并规范代码