AS 命名规则

一,基本原则

约定大于配置,约定大于规范 
  规范思想,并非为束缚手脚 
  在无歧义的前提下,命名力求简洁 
  在语义明了的前提下,命名力求省力,如果可以同时不按shift,则不按 
  命名=表义词语+类型,名称表义为先 
  坚持使用强类型 
  把常用的成员,放在容易找到的地方,给予它们更大的访问权限 
  源码格式以清晰易读为准 
  注释大于代码,代码总是与注释有关的

二,一般规则

文件组织结构与包(在MVCS开发模式下)范式:(companyDomain|teamName).projectName 
  +controllers 控制器目录
  +events 事件目录
  +managers 管理器目录
  +models 数据模型目录
  +models.vos VO对象目录
  +services 数据服务目录
  +views 视图目录
  +views.uis UI目录
  +utils 工具类目录
  +Module_{Name}.as 模块类(IFacade)

说明:|表示或者,两者取其一
  词性:名词
  命名:驼峰命名法,第一个单词首字母小写,第二个单词首字母大宇,因形似驼峰而得名

类与类文件范式:SealedName[Type] 
  说明:若无歧义,[]之内可略去,以下同
  如PopUpManager、MouseEvent、StringUtil、FishController等
  在MVC开发模式下,如果去掉Type,在项目中则可能出现同名文件,虽然完全限定名不同,但同时在同一个类中被引入时,会给编码带来不便。在这种情况下,保留Type更为合理。
  词性:名词
  命名:大驼峰命名法(首单词首字母大写)

接口范式:ISealedName[Type] 
  说明:接口与类相比,不同之处仅在于附有前缀
  词性:字母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

n:Num

j,k,m,n: for循环数字标识

在MVCS开发模式下,常用的Type后缀视图:View 
视图接口:IView

控制器:Controller

数据模型:Model

数据对象:VO

UI:UI

管理器:Manager

事件集:Events

事件:Event

枚举类:*s(在类名加复数s)

数据服务:Service

工具类:Util

模块:Module

基类:Base

事件句柄函数命名举例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标签的类或函数,不要随意更改 
函数变量在函数顶部统一声明,在事件函数内部移除事件监听统一放在函数顶部 
在类的顶部写上该类的功能注释,1234,条列清楚,这个类有什么功能均是与此注释有关的。 
不使用for(key:String in Array)的方式迭代数组 
使用[]实例化数组,而非new Array()


你可能感兴趣的:(AS3)