as3編碼規範
2023年3月10日 artlee 版本v1
作者根據自己多年的flash專案開發及管理經驗,吸取駝峰命名法與匈牙利命名法的長處,結合mvcs開發模式,融入物件導向的開發思想,並且考慮到業界已有的不成文的約定,兼顧flash開發以及flex開發的便利性,草擬了這份as3編碼經驗。請各位大師多多指教。
一,基本原則
約定大於配置,約定大於規範
規範思想,並非為束縛手腳
在無歧義的前提下,命名力求簡潔
在語義明了的前提下,命名力求省力,如果可以同時不按shift,則不按
命名=表義詞語+型別,名稱表義為先
堅持使用強型別
把常用的成員,放在容易找到的地方,給予它們更大的訪問許可權
原始碼格式以清晰易讀為準
寫注釋優先極大於寫**
二,一般規則
檔案組織結構與包(在mvcs開發模式下)
正規化:(companydomain|teamname).projectname
+controllers 控制器目錄
+events 事件目錄
+managers 管理器目錄
+models 資料模型目錄
+models.vos vo物件目錄
+services 資料服務目錄
+views 檢視目錄
+views.uis ui目錄
+utils 工具類目錄
+module_.as 模組類(ifacade)
說明:|表示或者,兩者取其一
詞性:名詞
命名:駝峰命名法,第乙個單詞首字母小寫,第二個單詞首字母大宇,因形似駝峰而得名
類與類檔案
正規化:sealedname[type]
說明:若無歧義,之內可略去,以下同
如popupmanager、mouseevent、stringutil、fishcontroller等
在mvc開發模式下,如果去掉type,在專案中則可能出現同名檔案,雖然完全限定名不同,但同時在同乙個類中被引入時,會給編碼帶來不便。在這種情況下,保留type更為合理。
詞性:名詞
命名:大駝峰命名法(首單詞首字母大寫)
介面正規化:isealedname[type]
說明:介面與類相比,不同之處僅在於附有字首i
詞性:字母i+名詞
命名:大駝峰命名法(首單詞首字母大寫)
常量正規化:const_variable_name = 「constvariablename」
命名:常量名稱單詞大宇,間以下劃線,常量值使用駝峰命名法
詞性:名詞、動名詞等
用途:在事件類中定義事件型別,在列舉類中定義列舉值等
例項變數、引數變數、函式變數與類靜態變數
正規化:variablename
命名:駝峰命名法
函式正規化:[varname_]getmethodname(argname1 :string…)
命名:駝峰命名法
詞性:動詞、動名詞
命名空間
正規化:lib_internal
命名:小寫字母單詞,間以下劃線
詞性:名詞+形容詞
類成員的位置
成員優先順序從高到低:常量,靜態變數,靜態函式,構造器,例項變數,getter/setter屬性訪問器,函式
同級別的成員按訪問修飾符排序:public,internal,protected,private
三,具體細則
在引數變數、函式變數中常用的縮寫
c : controller(或ctrl)
m: model
v:view
e : event or error
mdl: module
ui: ui
srv: service
btn:button
mc:movieclip
spt:sprite
在mvcs開發模式下,常用的type字尾
檢視:view
檢視介面:iview
控制器:controller
資料模型:model
資料物件:vo
ui:ui
管理器:manager
事件集:events
事件:event
常量:s
資料服務:service
工具類:util
模組:module
事件控制代碼函式命名舉例
onclick(e :mouseevent) :void
btnclose_onclick(e:mouseevent) :void
mouseeventhandler(e :mouseevent) :void
mcname_mouseeventhandler(e :mouseevent) :void
顏色變數使用uint
時間變數使用number
switch多在事件控制代碼函式中使用
優先使用vector,在宣告陣列array時,標明它的元素型別,如fishs : array /* element of fish */
避免使用try..catch
在for迴圈中,使用j、k、m、n作為迴圈數字
不要宣告沒有型別的變數,不要使用*使用型別修飾符,避免返回型別為object的物件
不用使用object作為hashmap,使用dictionary代替
基本棄用private,預設非公開的例項變數與例項函式使用protected訪問修飾符
在vo類中,預設所有變數使用基元型別作為型別修飾符,使用public作為訪問修飾符
基本棄用getter/setter,在一般情況下,不使用public的getter/setter訪問器,代替以public getmethod/setmethod。
把花括號放在同一列,如:
public getmehtod() : void
在類、函式上使用asdoc注釋,如:
/*** comment
*/ 不使用下劃線作為變數字首。
以flash製作資源檔案時:
元件成員分層放置,每層須有名稱
庫元件分目錄放置,以類別組織資料夾
元件的例項名稱使用駝峰命名法,命名規則與例項變數同
元件的匯出名稱與所要繫結的類名一致
label與as均單獨放在一層裡,置於最上面
避免使用mask
盡量不要使用濾鏡
控制顯示物件的位置時,避免使用小數
修改fla檔案之前要簽出、鎖定,再修改。
使用空白字元使**明晰易讀,如:
在單詞、符號之間使用空格
在函式、變數之間使用空行
在包、類、函式、匿名函式各級別間使用縮排
如果引數列表過長,或陣列元素很多,可以拆行,使用相同縮排
在匯入類時,避免使用*號
約定在注釋中新增fixed標籤的類或函式,不要隨意更改
函式變數在函式頂部統一宣告,在事件函式內部移除事件監聽統一放在最上面
PHP 編碼規範 3
3.2 引入語句 引入語句應該位於檔案的頭部,並在引入時說明引入檔案的作用。例如 資料庫操作類 require db.php 3.3 類的宣告 1 類文件注釋 該注釋中所需包含的資訊,參見 文件注釋 2 類的宣告 3 類實現的注釋 如果有必要的話 該注釋應包含任何有關整個類的資訊,而這些資訊又不適合...
Python3編碼規範
自由自在 廢話省略.一 空格與縮排 縮排對於每一次縮排使用4個空格。使用括號 中括號 大括號進行垂直對齊,或者縮排對齊。製表符還是空格?永遠不要將製表符與空格混合使用。python最常用的縮排方式是只是用空格。當呼叫python命令列的 t 選項時,它會檢測並警告 非法混合使用製表符和空格。當使用 ...
Java程式的編碼規範(3)
本文選自 ibm dw中國 建構函式 接下來是建構函式,它應該用遞增的方式寫 比如 引數多的寫在後面 訪問型別 public private 等.和 任何 static final 或 synchronized 應該在一行中,並且方法和引數另寫一行,這樣可以使方法和引數更易讀。public coun...