java駝峰規(guī)則 為什么很多人不建議使用駝峰命名法,有什么弊端么?
為什么很多人不建議使用駝峰命名法,有什么弊端么?因?yàn)橐苍S作者自己不喜歡駝峰命名。有些事情已經(jīng)形成了廣泛的行業(yè)習(xí)慣。類命名使用大駝峰,方法和變量命名使用小駝峰,常量全部大寫,并使用下劃線分割單詞。但是,
為什么很多人不建議使用駝峰命名法,有什么弊端么?
因?yàn)橐苍S作者自己不喜歡駝峰命名。
有些事情已經(jīng)形成了廣泛的行業(yè)習(xí)慣。類命名使用大駝峰,方法和變量命名使用小駝峰,常量全部大寫,并使用下劃線分割單詞。
但是,整個團(tuán)隊(duì)必須保持統(tǒng)一的風(fēng)格,否則會導(dǎo)致工作效率低下。
想象一下,如果有人用一個大駝峰來命名一個變量或方法,其他人可能會錯誤地認(rèn)為它是一個直接從類中調(diào)用的靜態(tài)方法;
或者當(dāng)你看到一個常量全部大寫并用下劃線分隔時(shí),你會認(rèn)為它是一個有習(xí)慣性思維的常量,但事實(shí)上你的同事把它定義為一個變量,他并沒有遵守大家的約定如果你調(diào)用它,它的值可能會隨時(shí)改變,給你帶來不必要的麻煩。
如果不幸的是,你的團(tuán)隊(duì)習(xí)慣的準(zhǔn)則與你自己的習(xí)慣相矛盾,要么你有足夠的能力改變所有其他人的習(xí)慣,要么你可以快速改變你的習(xí)慣以適應(yīng)團(tuán)隊(duì)。否則,等待你的可能是一句“你這么蠢,竟然做出這樣的命名?”
我在編程時(shí)給變量命名總覺得困難,有沒有什么實(shí)用技巧?
變量命名的基本原則:請參閱名稱的含義。
編程時(shí),通常使用兩種變量:一種是具有特定業(yè)務(wù)含義的變量,另一種是純數(shù)據(jù)結(jié)構(gòu)或算法使用的臨時(shí)變量,如循環(huán)變量。
正文采用英語單詞,并具有相應(yīng)的含義,建議采用匈牙利語、駝峰語或帕斯卡語的case方法:
首字母應(yīng)使用variable type的縮寫,其余部分應(yīng)使用variable的英語或英語縮寫,單詞的第一個字母應(yīng)該大寫。
例如:char cstudentname[10
]第一個單詞是小寫,后面是大寫的其他單詞。
例如:char studentname[10
]每個單詞的第一個字母都大寫。
例如:char studentname[10
]可以直接使用I、J、K等
什么是駝峰命名法?
駝峰的問題是模糊性和復(fù)雜性。大小寫轉(zhuǎn)換會降低輸入的速度,比較麻煩,連續(xù)的英文字母會產(chǎn)生歧義,比較典型的如to_uu和tell。事實(shí)上,沒有一個命名法是完美的,匈牙利的命名法更是羅嗦?,F(xiàn)在,建議使用下劃線。這個命名比較長,但是很容易輸入,而且?guī)缀鯖]有歧義。以我個人的理解,在什么環(huán)境下使用哪種命名方法是最合理的。例如,如果使用Microsoft環(huán)境,則應(yīng)使用類似匈牙利語的命名方法,這與內(nèi)置系統(tǒng)一致。如果您使用Java,它是小寫下劃線。這樣,使整個程序和內(nèi)置函數(shù)命名保持一致是最合理的。
為什么說讀代碼比寫代碼難?
一個老程序員的感覺:
寫代碼就是把想法輸出到代碼中
讀代碼就是把代碼還原成想法
哪個更難?