當前位置: 華文星空 > 知識

為什麽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++搞不下去,才自己發明了一個語言來簡化並規範程式碼