我们的cocos2dx-js规范

我们的JavaScript规范,从整体上来说,是基于Airbnb的js规范,加上一些适用于cocos2dx-js和项目本身的自定义规则。


为什么选用Airbnb的js规范:

  • 认可度高,该规范现在已经或者即将成为js国际标准了。看看Airbnb的Github,有恐怖的47000+的star
  • 官方提供Eslint插件支持。结合WebStorm,简直完美
  • 支持ES6、React等。虽然由于cocos2dx-js的问题,稳妥起见,我们目前使用其中的ES5标准
关于如何使用WebStorm+Eslint+Airbnb的js规范,参考另一篇博文:Mac下WebStorm配置Eslint教程

自定义规则:
首先看一下项目的.eslintrc文件,在airbnb的基础上有几条简单的调整,注释都很明确,就不再过多解释
{
    "extends": "airbnb/legacy",
    "plugins": [
        "import"
    ],
    "rules": {
        //缩进设置为4个空格
        "indent": ["error", 4],
        //强制要求末尾逗号
        "comma-dangle": ["error", "always"],
        //字符串使用双引号,项目中几乎不会有html代码,所以这里延用C++、C#等的习惯,使用双引号
        "quotes": [1, "double"],
        //只有this的标识符允许下划线,为了兼容cocos2dx-js的this._super
        "no-underscore-dangle": ["error", { "allowAfterThis": true }]
    },
    "globals": {
        //下面三个是为了兼容cocos2dx-js本身
        "cc": true,
        "res": true,
        "gResources": true,
        //我们自定义的类都放在lu命名空间下,自定义的所有常量都在co命名空间下
        "lu": true,
        "co": true
    }
}

最后追加一些关于cocos2dx-js的命名规则:
  • js文件命名遵循普遍的习惯,全部小写,多个词中间以-连接,比如main.js,scene-main.js
  • 项目中自定义的类,使用驼峰式命名,并且首字母大写,继承的类,第一个词要是父类的名字。这样的目的,一方面是与cocos2dx-js本身统一,另一方面延续C++/C#的习惯,比如:
lu.LayerMain = cc.Layer.extend({
    ...
});

lu.SceneMain = cc.Scene.extend({
    ...
});
  • 为避免全局变量混乱,使用命名空间,比如上面的代码中,自定义的类都放入lu命令空间下,比如所有常量放入co命令空间下,并且根据模块分开声明:
// 所有常量的命名空间
var co = {};

// 游戏的整体配置常量
co.MainConfig = {
    UpdateMode: true,
};

// 关于轮子的常量
co.Wheel = {
    WheelNodeItemCount: 11,
    WheelNodeItemSpace: 220,
    WheelNodeItemSize: 244,
    WheelNodeItemImg: ["bar1", "bar2", "bar3", "red7", "wild", "x2", "x3", "x5",],
};
  • 类内部的全局变量命名以m开头,驼峰式,且命名的第一个词能看出来变量类型:
lu.Wheel = cc.Node.extend({

    mNode1: null,
    mNode2: null,
    mIsRolling: false,
    mHeight: 0,
});
  • 类的方法名,首字母小写:
lu.LayerMain = cc.Layer.extend({
    init: function () {
    },

    startLoad: function () {
    },
});








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值