最好的代碼是自說(shuō)明代碼,這種代碼不需要多余的注釋,其本身便具備了描述作者意圖的信息。一種好的命名風(fēng)格是自說(shuō)明代碼的基礎(chǔ)。
firstName
、lastName
。FirstName
、LastName
、CamelCase
,也被稱為Pascal命名法。login_btn
。MIN_GAP_TIME
。采用駝峰法或者下劃線法都不太重要,重要的是你采用了自己喜歡的一種命名法,然后一直保持下去。
通常作用域范圍更大的變量名要比作用域范圍更小的變量名具有更多的描述信息。例如:i
經(jīng)常用于循環(huán)中充當(dāng)計(jì)數(shù)變量,而將其作為全局變量使用容易導(dǎo)致諸多問(wèn)題。
對(duì)于變量(包括函數(shù)),小駝峰式命名法或小下劃線命名法是一個(gè)好選擇。比如:curSpeed
表示當(dāng)前速度,canDrop
表示是否能掉落等等。
對(duì)于布爾值型的變量,通常前綴加上is
可以方便理解,比如isRemoved
比Removed
更加能表示這是一個(gè)布爾值變量。
Lua中有一種特殊的變量名:_
,常用來(lái)表示可以被忽略的、不會(huì)使用到的變量,常使用在循環(huán)中。
-- `_`表示表的鍵可以被忽略,只在循環(huán)內(nèi)使用表中的值`v`
for _,v in ipairs(t) do print(v) end
在表的循環(huán)中和函數(shù)參數(shù)列表中,i
常表示ipairs
下的數(shù)組下標(biāo),k
常表示pairs
下的鍵,v
常表示對(duì)應(yīng)的值,t
則表示表。
for k,v in pairs(t) do ... end
for i,v in ipairs(t) do ... end
mt.__newindex = function(t, k, v) ... end
Lua里沒(méi)有嚴(yán)格的常數(shù)定義標(biāo)識(shí)符,所以對(duì)于常數(shù)的命名格外重要。
常數(shù)一般采用大下劃線命名法。這樣每個(gè)字母都大寫(xiě),十分醒目,且各個(gè)單詞都用下劃線分割,便于閱讀。
比如:MAX_SPEED
表示最大速度,IS_SHOW_DEBUG_ERROR_MSG
表示是否顯示報(bào)錯(cuò)消息等等。
為了不與變量名和常數(shù)名混淆,類名通常使用大駝峰式命名法,即首字母大寫(xiě)。比如:TouchManager
表示觸摸管理器類。
包名和模塊名通常很短,并且全部小寫(xiě),單詞間并沒(méi)有下劃線區(qū)分。比如:文件讀取庫(kù)名為lfs
,表示Lua File System
;XML解析庫(kù)名為lxp
,表示Lua XML Parser
等等。
通常為了不與類名混淆,對(duì)于文件名,經(jīng)常使用小駝峰式命名法或小下劃線命名法。
更多建議: