C語(yǔ)言的編程風(fēng)格第三章

字號(hào):

第三章:命名系統(tǒng)
    C是一種簡(jiǎn)潔的語(yǔ)言,那么,命名也應(yīng)該是簡(jiǎn)潔的.同MODULE-2以及ASCAL語(yǔ)言不同的是,C程序員不使用諸如ThisVariableIsATemporaryCounter之類(lèi)的命名方式.一個(gè)C語(yǔ)言的程序員會(huì)將之命名為"tmp",這很容易書(shū)寫(xiě),且并不是那么難以去理解.
    然而,當(dāng)混合類(lèi)型的名字不得不出現(xiàn)的時(shí)候,描述性名字對(duì)全局變量來(lái)說(shuō)是必要的了.調(diào)用一個(gè)名為"foo"全局的函數(shù)是很讓人惱火的.全局變量(只有你必須使用的時(shí)候才使用它) ,就象全局函數(shù)一樣,需要描述性的命名方式.假如你有一個(gè)函數(shù)用來(lái)計(jì)算活動(dòng)用戶的數(shù)量,你應(yīng)該這樣命名--"count_active_users()"--或另外的相近的形式,你不應(yīng)命名為"cntusr()".
    有一種稱(chēng)為Hungarian命名方式,它將函數(shù)的類(lèi)型編碼寫(xiě)入變量名中,這種方式是腦子有毛病的一種表現(xiàn)---編譯器知道這個(gè)類(lèi)型而且會(huì)去檢查它,而這樣只會(huì)迷惑程序員. --知道為什么Micro$oft為什么會(huì)生產(chǎn)這么多"臭蟲(chóng)"程序了把!!. 來(lái)源:www.examda.com
    局部變量的命名應(yīng)該短小精悍.假如你有一個(gè)隨機(jī)的整數(shù)循環(huán)計(jì)數(shù)器,它有可能有"i",如果沒(méi)有任何可能使得它能被誤解的話,將其寫(xiě)作"loop_counter"是效率低下的.同樣的,""tmp"可以是任何臨時(shí)數(shù)值的函數(shù)變量.
    如果你害怕混淆你的局部變量的名字,還有另外一個(gè)問(wèn)題,就是稱(chēng)
    function-growth-hormone-imbalancesyndrome.