第一部分 可读性
一、命名驼峰命名为主
1、包名:全部字母小写 如:mypackage
2、类名:每个单词的首字母大写如:class MyClass{}
3、成员变量名:_ + 第一个单词小写,其余单词首字母大写 如: public var _myVar:int;
4、除了约定俗成的缩写,如UI,IO等。大家不要随意制造和发明缩写,以致项目代码可读性变弱
5、Const定义使用大写+下划线。如 public static constMY_CONST:int = 1;
二、风格
1、大括号: {} 使用大括号的地方需要换行
//标准
if(a==true)
{
//todo
}
//不标准
if(a==true){
}
2、缩进:使用制表符进行缩进
3、注释
i. 类的功能要进行注释
ii. 特殊的函数处理要进行注释
iii. 注释可以使用 //或者 /**/ 但不应该使用追尾方式
//注释规范
public var i:int;
--
public var i:int;//注释不规范
第二部分 可维护性
一、需要遵守的约定
1、逻辑模块统一使用Module结尾,如LoginModule
2、界面控制相关代码统一使用Controller结尾,如 LoginController
3、向服务器发送消息的函数,统一使用sendMsg_功能名 方式命名 如 sendMsg_StartMove
4、处理来自服务器网络消息的函数,统一使用 onMsg_功能名 方式命名 如 onMsg_NotifyMove
5、网络消息的处理与发送(对NetworkMgr的调用),只能写在对应的Module里
6、对UI显示控制相关的代码,只能写在Controller里
7、Controller除了UIMgr持有其引用外,其余地方均不能出现直接引用
8、所有配置的读取都需要写在configs包下,并以Cfg作为前缀,如CfgNpcTempalte
9、单件类以Mgr作为后缀结束,以getInstance()作为获取接口
10、代码行必须以分号结束
二、设计思路
1、保持代码简洁,以及必要的注释。
2、对有注释的情况,若代码产生动,需修改注释,使注释与代码功能保持一致
3、“多个接口”优于“单个接口多参数”
4、客户端服务器通信时,“多个协议”优于“单个协议+标记”
5、使用成熟稳定的解决方案
第三部分 可测试性
1、明确区分不可变和可变数据如常量定义使用大写,配置文件数据统一加Cfg前缀
2、编写可重入的函数如 getMyData(i); 应该做到对应的输入i,都有唯一对应的返回值
3、编写无副作用的函数如 getMyData(); 应该做到getMyData的调用,不会改动额外的数据
4、降低耦合性