Lua編程規范
1. 版本和版權問題
版權和版本的聲明位於定義文件的開頭(參見示例1-1),主要內容有:
(1)版本號 <主版本號><次版本號><修訂號>
(2)文件名稱
(3)功能描述
(4)創建人
(5)創建時間
圖1-1 版本信息示例
2. 排版
2.1 空格
程序塊間要采用縮進風格編寫,縮進空格數為Tab。連接運算符“..”兩邊要有空格。如:a .. b
2.2 空行
相對獨立的程序塊之間,如函數塊之后必須加空行。(注:空行不占內存)如下:兩個函數之間必須要加空行。
function distance(destX,destY,destZ,srcX,srcY,srcZ)
return math.sqrt((destX-srcX)^2+(destY-srcY)^2+(destZ-srcZ)^2)
end
function checkDistance(destX,destY,destZ,srcX,srcY,srcZ)
iw.log(“ssss”)
end
2.3 代碼行
較長的語句要分成多行書寫,每行代碼不超過70字符,一行代碼最好只做一件事情,比如只寫一個語句,或只定義一個變量,這樣的代碼容易閱讀,方便注釋。
if…then…return…end要分行寫,if、for等語句自占一行,執行語句不得緊跟其后。
2.4 比較規范
關系運算符兩邊最好用空格。
(1)nil : a == nil
(2)int/string: a == 163/ a == “Wingszero”
(3)Boolean: if a/if not a
(4)杜絕比較不同類型的對象
3. 注釋
3.1 注釋符號
單行注釋:--
多行注釋:--[[ --]]
3.2注釋量
一般情況下,源程序有效注釋量必須在20%以上。
3.3注釋區域
注釋通常用於以下:
(1)版本、版權聲明;
(2)函數接口說明;
(3)重要的代碼行或段落提示。
注釋的位置應與被描述的代碼相鄰,可以放在代碼的上方或右方,不可放在下方。注釋與其下面的代碼用空行分隔開來。如圖3-1
圖3-1
注意:注釋的原則是有助於對程序的閱讀理解,注釋也不宜太多。注釋可以是中文或英文,但最好用英文,防止產生亂碼問題。
3.4 全局變量注釋
全局變量要有較詳細的注釋,包括對其功能、取值范圍、哪些函數存取它以及存取它時的注意事項等的說明。
4. 命名規范
(1) 變量:駝峰法,eg:playerName變量的命名要見名知意,便於閱讀和修改。
(2)常量:大寫加下划線 eg:KIND_PET_FOOD
(3)函數:和變量一致,eg:function checkTaskChainStatus()
(4)模塊:小寫加下划線:eg:item_factory_lua
5. 其他規范
(1)table的數據較多時考慮用如下形式增強可讀性:
Local a = {
[1] = 108001
[2] = 108002
[3] = 108003
}
(2)盡量使用local變量而非global變量
(3)被多次讀取的global變量,應提取出來放到local變量中