国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

我們的cocos2dx-js規(guī)范

2019-11-09 15:52:46
字體:
供稿:網(wǎng)友

我們的javaScript規(guī)范,從整體上來說,是基于Airbnb的js規(guī)范,加上一些適用于cocos2dx-js和項(xiàng)目本身的自定義規(guī)則。

為什么選用Airbnb的js規(guī)范:

認(rèn)可度高,該規(guī)范現(xiàn)在已經(jīng)或者即將成為js國(guó)際標(biāo)準(zhǔn)了。看看Airbnb的Github,有恐怖的47000+的star官方提供Eslint插件支持。結(jié)合WebStorm,簡(jiǎn)直完美支持ES6、React等。雖然由于cocos2dx-js的問題,穩(wěn)妥起見,我們目前使用其中的ES5標(biāo)準(zhǔn)關(guān)于如何使用WebStorm+Eslint+Airbnb的js規(guī)范,參考另一篇博文:Mac下WebStorm配置Eslint教程自定義規(guī)則:首先看一下項(xiàng)目的.eslintrc文件,在airbnb的基礎(chǔ)上有幾條簡(jiǎn)單的調(diào)整,注釋都很明確,就不再過多解釋
{    "extends": "airbnb/legacy",    "plugins": [        "import"    ],    "rules": {        //縮進(jìn)設(shè)置為4個(gè)空格        "indent": ["error", 4],        //強(qiáng)制要求末尾逗號(hào)        "comma-dangle": ["error", "always"],        //字符串使用雙引號(hào),項(xiàng)目中幾乎不會(huì)有html代碼,所以這里延用C++、C#等的習(xí)慣,使用雙引號(hào)        "quotes": [1, "double"],        //只有this的標(biāo)識(shí)符允許下劃線,為了兼容cocos2dx-js的this._super        "no-underscore-dangle": ["error", { "allowAfterThis": true }]    },    "globals": {        //下面三個(gè)是為了兼容cocos2dx-js本身        "cc": true,        "res": true,        "gResources": true,        //我們自定義的類都放在lu命名空間下,自定義的所有常量都在co命名空間下        "lu": true,        "co": true    }}最后追加一些關(guān)于cocos2dx-js的命名規(guī)則:js文件命名遵循普遍的習(xí)慣,全部小寫,多個(gè)詞中間以-連接,比如main.js,scene-main.js項(xiàng)目中自定義的類,使用駝峰式命名,并且首字母大寫,繼承的類,第一個(gè)詞要是父類的名字。這樣的目的,一方面是與cocos2dx-js本身統(tǒng)一,另一方面延續(xù)C++/C#的習(xí)慣,比如:
lu.LayerMain = cc.Layer.extend({    ...});lu.SceneMain = cc.Scene.extend({    ...});為避免全局變量混亂,使用命名空間,比如上面的代碼中,自定義的類都放入lu命令空間下,比如所有常量放入co命令空間下,并且根據(jù)模塊分開聲明:
// 所有常量的命名空間var co = {};// 游戲的整體配置常量co.MainConfig = {    UpdateMode: true,};// 關(guān)于輪子的常量co.Wheel = {    WheelNodeItemCount: 11,    WheelNodeItemSpace: 220,    WheelNodeItemSize: 244,    WheelNodeItemImg: ["bar1", "bar2", "bar3", "red7", "wild", "x2", "x3", "x5",],};類內(nèi)部的全局變量命名以m開頭,駝峰式,且命名的第一個(gè)詞能看出來變量類型:
lu.Wheel = cc.Node.extend({    mNode1: null,    mNode2: null,    mIsRolling: false,    mHeight: 0,});類的方法名,首字母小寫:
lu.LayerMain = cc.Layer.extend({    init: function () {    },    startLoad: function () {    },});


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仪征市| 团风县| 芦溪县| 乳源| 庄河市| 榆中县| 堆龙德庆县| 大关县| 洛南县| 朝阳市| 冕宁县| 斗六市| 读书| 隆子县| 平塘县| 莎车县| 额尔古纳市| 平阴县| 白城市| 营山县| 海伦市| 龙口市| 长顺县| 聂荣县| 兴隆县| 泗阳县| 潍坊市| 三门县| 会昌县| 云阳县| 蒲江县| 霍州市| 吕梁市| 横山县| 玉树县| 萨迦县| 吴旗县| 蓝田县| 锦屏县| 隆林| 贵阳市|