摘要代码规范的重要性不再赘述,所以第二部分文章内容为项目使用的编码规范并使用代码举例。

正文

版本说明

使用 CocosCreator 的 2.1.3 版本开发。建议先下载完整项目工程,搭配文章“食用”!源码链接在文章最下方。

编码规范

使用小驼峰式为变量、属性、函数命名:
  1. // 变量

  2. static isDebug: boolean= true

  3. // 函数

  4. openTouch (): void{

  5. this.node.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this)

  6. }

使用大驼峰式为枚举、类、接口命名:
  1. // 枚举

  2. exportenumBulletType{

  3. /** R 型子弹,圆的 */

  4. R = 0,

  5. /** M 型子弹,月牙 */

  6. M = 1,

  7. /** F 型子弹,花型 */

  8. F = 2,

  9. /** B 型子弹,爆破 */

  10. B = 3

  11. }

  12. // 类

  13. export default class BulletFactory extends cc.Component{

  14. // ......

  15. }

尽可能使用完整的单词拼写命名,做到名称即注释:
  1. // 将子弹放入节点池,参数为子弹类型与数量

  2. putBulletInPool (type: BulletType, num: number): void{

  3. for(let i = 0; i < num; i++) {

  4. this.bulletPools[type].put(cc.instantiate(this.bulletPrefab[type]))

  5. }

  6. }

  7. // 根据类型、射击方向、速度这三个参数来创建一个子弹

  8. createBullet (type: BulletType, dir: cc.Vec2, speed: number): cc.Node{

  9. // ......

  10. }

尽量使用 undefined,而不是 null:
  1. // 局部变量

  2. let bullet: cc.Node| undefined= undefined

  3. // 声明属性

  4. @property(cc.Node)

  5. player: cc.Node| undefined= undefined

字符串使用双引号"str",而不是单引号'str':
  1. cc.director.loadScene("game")

语句后不加;作为结束,一行代码不能过长,缩进为4,合适的空格(函数名称后、类型声明符后、逻辑语句后、运算符左右与注释后一格等):
  1. // 监听触摸移动

  2. onTouchMove (event: cc.Event.EventTouch): void{

  3. let delta = event.getDelta()

  4. this.player.x += delta.x

  5. this.player.y += delta.y

  6. }

尽量使用 JSDoc 风格注释:
  1. /**

  2. * 在 min 与 max 之间随机小数

  3. * @param {number} min

  4. * @param {number} max

  5. */

  6. static randomNumber (min: number, max: number): number {

  7. return min + Math.random() * (max - min)

  8. }

  9.  

  10. /** 子弹工厂 */

  11. bulletFactory: BulletFactory| undefined= undefined

脚本文件夹

在 script 文件夹下放入对应场景名称的文件夹与工具类通用脚本,在各个场景文件夹下分类脚本。KUOKUO的实战系列|编码规范_i++

结语

文章第二部分为编码规范,该规范可作为参考。规范自己就是方便自己与他人,我们下一部分分析子弹类的抽象。