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編碼規(guī)范

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

          AS3編碼規(guī)范

          2010年3月10日 Artlee 版本v1

          作者根據(jù)自己多年的Flash項目開發(fā)及管理經(jīng)驗,吸取駝峰命名法與匈牙利命名法的長處,結(jié)合MVCS開發(fā)模式,融入面向?qū)ο蟮拈_發(fā)思想,并且考慮到業(yè)界已有的不成文的約定,兼顧Flash開發(fā)以及Flex開發(fā)的便利性,草擬了這份AS3編碼經(jīng)驗。請各位大師多多指教。

          一,基本原則

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

          二,一般規(guī)則

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

          三,具體細(xì)則

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(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
          主站蜘蛛池模板: 遵义市| 池州市| 灵武市| 松江区| 峨边| 江北区| 错那县| 吴江市| 宜城市| 沙河市| 大同市| 海阳市| 宜都市| 县级市| 东城区| 明星| 通河县| 休宁县| 辽宁省| 团风县| 鲁山县| 延寿县| 突泉县| 青龙| 织金县| 新化县| 桃源县| 南开区| 北碚区| 陈巴尔虎旗| 六安市| 贺兰县| 滦平县| 上思县| 深水埗区| 洛南县| 昔阳县| 清丰县| 文山县| 西贡区| 灵丘县|