AS3編碼規範

2021-05-28 03:05:58 字數 3534 閱讀 3221

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...