<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 閱讀(1093) 評論(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
    主站蜘蛛池模板: 亚洲精品无码成人片久久| 国产一级a毛一级a看免费人娇| 亚洲综合色自拍一区| 日韩a级毛片免费观看| 成年人网站免费视频| 永久免费A∨片在线观看| 成人在线免费视频| 亚洲s码欧洲m码吹潮| 亚洲人成在线精品| 91情国产l精品国产亚洲区 | 亚洲人成7777影视在线观看| 国产aⅴ无码专区亚洲av| 国产成人精品久久亚洲| 亚洲第一黄片大全| 国产免费变态视频网址网站 | 亚洲不卡在线观看| 久久亚洲精品无码AV红樱桃| 亚洲av伊人久久综合密臀性色 | 暖暖日本免费中文字幕| 皇色在线免费视频| 一区二区三区在线免费观看视频 | 亚洲国产aⅴ综合网| 全部免费国产潢色一级| 国产免费AV片无码永久免费| 大香人蕉免费视频75| 四虎影院在线免费播放| 成人免费淫片在线费观看| 我要看WWW免费看插插视频| 久久不见久久见中文字幕免费| 波多野结衣中文字幕免费视频| 中文字幕免费在线看线人| 1000部拍拍拍18勿入免费凤凰福利| 99xxoo视频在线永久免费观看| 99视频免费播放| 4444www免费看| 免费大片黄在线观看yw| 成人免费无毒在线观看网站 | 精品久久亚洲一级α| 免费人人潮人人爽一区二区| av电影在线免费看| 中国一级特黄的片子免费|