<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    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 閱讀(1092) 評論(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
    主站蜘蛛池模板: 卡一卡二卡三在线入口免费| 久久精品亚洲男人的天堂| 亚洲heyzo专区无码综合| 免费在线观看污网站| 久久免费精彩视频| 亚洲AV无码一区二区三区电影| 亚洲一区爱区精品无码| 西西大胆无码视频免费| 国产免费久久久久久无码| 亚洲人成影院午夜网站| 亚洲视频人成在线播放| 台湾一级毛片永久免费 | 久青草视频在线观看免费| 亚洲国产精品午夜电影| 国产日产亚洲系列最新| a毛片基地免费全部视频| 中国一级毛片视频免费看| 亚洲熟妇少妇任你躁在线观看| 亚洲无码在线播放| 国产片免费在线观看| **俄罗斯毛片免费| 国产vA免费精品高清在线观看| 亚洲综合一区二区三区四区五区| 亚洲成AV人片在线播放无码| 免费国产精品视频| 在线观看免费人成视频| 午夜视频在线免费观看| 人人爽人人爽人人片av免费| 亚洲欧美一区二区三区日产| 亚洲激情黄色小说| 亚洲动漫精品无码av天堂| 亚洲高清国产拍精品青青草原 | 67194熟妇在线永久免费观看| 精品乱子伦一区二区三区高清免费播放 | 国产午夜亚洲精品不卡| 亚洲午夜在线一区| 久久久久亚洲精品天堂| 亚洲无码在线播放| 亚洲色偷拍区另类无码专区| 国产国产成年年人免费看片| 无码人妻精品一二三区免费|