gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          AS3編碼規范

          [注]看了下面的AS3編碼規范,覺得寫得蠻細蠻全的,故在此轉載。在多人協作的時候,這個尤為重要。
          AS3編碼規范
          原文地址:http://artlee.biz/572

          AS3編碼規范

          2010年3月10日 Artlee 版本v1

          作者根據自己多年的Flash項目開發及管理經驗,吸取駝峰命名法與匈牙利命名法的長處,結合MVCS開發模式,融入面向對象的開發思想,并且考慮到業界已有的不成文的約定,兼顧Flash開發以及Flex開發的便利性,草擬了這份AS3編碼經驗。請各位大師多多指教。

          一,基本原則

          1. 約定大于配置,約定大于規范
          2. 規范思想,并非為束縛手腳
          3. 在無歧義的前提下,命名力求簡潔
          4. 在語義明了的前提下,命名力求省力,如果可以同時不按shift,則不按
          5. 命名=表義詞語+類型,名稱表義為先
          6. 堅持使用強類型
          7. 把常用的成員,放在容易找到的地方,給予它們更大的訪問權限
          8. 源碼格式以清晰易讀為準
          9. 寫注釋優先極大于寫代碼

          二,一般規則

          1. 文件組織結構與包(在MVCS開發模式下)
            范式:(companyDomain|teamName).projectName
            +controllers 控制器目錄
            +events 事件目錄
            +managers 管理器目錄
            +models 數據模型目錄
            +models.vos VO對象目錄
            +services 數據服務目錄
            +views 視圖目錄
            +views.uis UI目錄
            +utils 工具類目錄
            +Module_{Name}.as 模塊類(IFacade)
            說明:|表示或者,兩者取其一
            詞性:名詞
            命名:駝峰命名法,第一個單詞首字母小寫,第二個單詞首字母大宇,因形似駝峰而得名
          2. 類與類文件
            范式:SealedName[Type]
            說明:若無歧義,[]之內可略去,以下同
            如PopUpManager、MouseEvent、StringUtil、FishController等
            在MVC開發模式下,如果去掉Type,在項目中則可能出現同名文件,雖然完全限定名不同,但同時在同一個類中被引入時,會給編碼帶來不便。在這種情況下,保留Type更為合理。
            詞性:名詞
            命名:大駝峰命名法(首單詞首字母大寫)
          3. 接口
            范式:ISealedName[Type]
            說明:接口與類相比,不同之處僅在于附有前綴I
            詞性:字母I+名詞
            命名:大駝峰命名法(首單詞首字母大寫)
          4. 常量
            范式:CONST_VARIABLE_NAME = “constVariableName”
            命名:常量名稱單詞大宇,間以下劃線,常量值使用駝峰命名法
            詞性:名詞、動名詞等
            用途:在事件類中定義事件類型,在枚舉類中定義枚舉值等
          5. 實例變量、參數變量、函數變量與類靜態變量
            范式:variableName
            命名:駝峰命名法
          6. 函數
            范式:[varName_]getMethodName(argName1 :String…)
            命名:駝峰命名法
            詞性:動詞、動名詞
          7. 命名空間
            范式:lib_internal
            命名:小寫字母單詞,間以下劃線
            詞性:名詞+形容詞
          8. 類成員的位置
            成員優先級從高到低:常量,靜態變量,靜態函數,構造器,實例變量,getter/setter屬性存取器,函數
            同級別的成員按訪問修飾符排序:public,internal,protected,private

          三,具體細則

          1. 在參數變量、函數變量中常用的縮寫
            c : Controller(或ctrl)
            m: Model
            v:View
            e : Event or Error
            mdl: Module
            ui: UI
            srv: Service
            btn:Button
            mc:MovieClip
            spt:Sprite
          2. 在MVCS開發模式下,常用的Type后綴
            視圖:View
            視圖接口:IView
            控制器:Controller
            數據模型:Model
            數據對象:VO
            UI:UI
            管理器:Manager
            事件集:Events
            事件:Event
            常量:s
            數據服務:Service
            工具類:Util
            模塊:Module
          3. 事件句柄函數命名舉例
            onClick(e :MouseEvent) :void
            btnClose_onClick(e:MouseEvent) :void
            mouseEventHandler(e :MouseEvent) :void
            mcName_mouseEventHandler(e :MouseEvent) :void
          4. 顏色變量使用uint
          5. 時間變量使用Number
          6. switch多在事件句柄函數中使用
          7. 優先使用Vector,在聲明數組Array時,標明它的元素類型,如fishs : Array /* Element Of Fish */
          8. 避免使用try..catch
          9. 在for循環中,使用j、k、m、n作為循環數字
          10. 不要聲明沒有類型的變量,不要使用*使用類型修飾符,避免返回類型為Object的對象
          11. 不用使用Object作為HashMap,使用Dictionary代替
          12. 基本棄用private,默認非公開的實例變量與實例函數使用protected訪問修飾符
          13. 在VO類中,默認所有變量使用基元類型作為類型修飾符,使用public作為訪問修飾符
          14. 基本棄用getter/setter,在一般情況下,不使用public的getter/setter存取器,代替以public getMethod/setMethod。
          15. 把花括號放在同一列,如:
            public getMehtod() : void
            {
            }
          16. 在類、函數上使用ASDoc注釋,如:
            /**
            * comment
            */
          17. 不使用下劃線作為變量前綴。
          18. 以Flash制作資源文件時:
            元件成員分層放置,每層須有名稱
            庫元件分目錄放置,以類別組織文件夾
            元件的實例名稱使用駝峰命名法,命名規則與實例變量同
            元件的導出名稱與所要綁定的類名一致
            Label與AS均單獨放在一層里,置于最上面
            避免使用mask
            盡量不要使用濾鏡
          19. 控制顯示對象的位置時,避免使用小數
          20. 修改fla文件之前要簽出、鎖定,再修改。
          21. 使用空白字符使代碼明晰易讀,如:
            在單詞、符號之間使用空格
            在函數、變量之間使用空行
            在包、類、函數、匿名函數各級別間使用縮進
            如果參數列表過長,或數組元素很多,可以拆行,使用相同縮進
          22. 在導入類時,避免使用*號
          23. 約定在注釋中添加fixed標簽的類或函數,不要隨意更改
          24. 函數變量在函數頂部統一聲明,在事件函數內部移除事件監聽統一放在最上面

          posted on 2011-06-03 11:20 gembin 閱讀(1090) 評論(0)  編輯  收藏 所屬分類: ActionScript3

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          free counters
          主站蜘蛛池模板: 庆阳市| 米泉市| 武邑县| 嘉禾县| 文山县| 金乡县| 白山市| 酒泉市| 芜湖市| 开阳县| 涿州市| 德兴市| 武鸣县| 锦屏县| 雷山县| 自贡市| 礼泉县| 察哈| 和政县| 平乡县| 略阳县| 外汇| 舟曲县| 普安县| 常宁市| 永春县| 鄯善县| 融水| 綦江县| 阿城市| 会东县| 呼玛县| 石屏县| 常山县| 西林县| 库伦旗| 莲花县| 防城港市| 靖远县| 孝义市| 铁岭县|