您的位置:首页 > Web前端

网页游戏项目:前端编程规范

2012-11-06 11:22 204 查看
转自:http://jsfox.cn/blog/webgame/webgame-actionscript-coding-conventions.html

网页游戏项目大,代码多,必须要有规范。依照惯例和个人喜好,参考了JavaScript和Python的代码风格,草拟了一下编程规范。


代码规范


一、 命名规范


1. 类


1) 首字母大写,采用名词,且能体现其含义。可采用常见的缩略单词。多个单词使用驼峰命名。例如MsgParser,ConnectionManager等。

2) 基类需使用Base、Abstract前缀。接口需使用大写I开头。

2. 方法


1) 首字母小写,采用动词+名字的命名方式,驼峰命名。例如parseMsg(),initUI(),setData()等。

2) 事件响应方法,采用on开头,或handler结尾,如onClick(), clickHandler()。

3. 变量


变量名应能体现其含义,多个单词时,首字母小写,驼峰命名。

1) 变量使用名词,并注意单复数。

2) Boolean类型,加前缀is, can, has等。如isFirstLogin, canAttack。

3) 循环变量使用常用的i, j, k,循环总数使用length,count等常见词汇。

4) 私有变量可使用下划线开头,如_instance。

5) 常量全部大写,多个单词用下划线分隔。


二、 代码书写习惯

1. 文档编码必须使用UTF-8。

2. 逗号、分号、冒号后紧跟空格,左大括号、左括号前增加空格,运算符左右增加空格(函数默认参数、类型定义除外)。禁止多余的空格。

正确:
if (disposed) {
return;
}


错误:
if(disposed){
return;
}


正确:
thingMove(1001, [83, 40], {x: 1, y: 2});


错误:
thingMove( 1001, [ 83, 40 ], { x: 1, y: 2 } );


正确:
x = 1;
y = 2;
longVariable = 3;


错误:
x            = 1;
y            = 2;
longVariable = 3;


正确:
public function dispose(value:int=0):void


错误:
public function dispose(value:int = 0) : void


3. 单行代码不超过80个字符,结尾必须写分号。

4. 使用Tab而不是4个空格缩进。单行过长时,换行缩进需良好对齐。例如:
private function thingMove(thingId:int,
pathArr:Array,
x:int,
y:int,
dir:int,
isDash:int):void


5. if、else、switch、for、while等语句后面必须有大括号,即使只执行一行。大括号可以写在同一行,也可以换行。function、class后的大括号必须换行。

6. 在适当的地方增加空行,如相关代码块结束时。

7. 如变量名、方法名不能良好体现其含义,则必须写注释。容易误解的代码必须写注释。

8. 字符串使用双引号,需要嵌套时才使用单引号。


项目规范


一、 类的设计

1. 一般类成员变量和方法尽量私有,需外部访问时使用getter/setter。

2. 简单数据模型类如data,vo,变量全部公开。

3. 维护数据模型的单一职责管理类,需使用单例。不维护数据的工具类,命名为*Util,Util命名结尾的类只引入静态方法,禁止创建实例。

4. 功能模块的常量写在*Const里。

5. 当一个类中出现大量方法时,方法书写顺序为:私有方法、公共方法、getters/setters、事件响应方法。

6. 父类中禁止出现对子类的操作。错误:
if (this is subClassInstance) {
// do something
}


二、 内存使用和性能

1. 需反复创建的对象,必须回收到对象池。

2. 无需一直监听的事件或Mediator,处理后需移除监听。

3. 禁止在某个事件处理方法中做大量运算或显示列表连续操作。

4. 使用FrameTimerManager增加帧循环需找组长报备。


三、 其他

1. 程序中不能出现中文。汉字需写入properties文件中。

2. 注释中不能出现add by, modified by等字样。

3. 禁止使用单词”flag”作为标志变量的名称。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: