우리 cocos2dx - js 규범

2856 단어 cocos2dx-js
우리 의 JavaScript 규범 은 전체적으로 Airbnb 의 js 규범 을 바탕 으로 cocos2dx - js 와 프로젝트 자체 에 적용 되 는 사용자 정의 규칙 을 추가 합 니 다.
Airbnb 의 js 규범 을 선택 한 이유:
  • 인정 도가 높 아서 이 규범 은 현재 이미 js 국제 표준 이 될 것 이다.Airbnb 의 Github 을 보 세 요. 무 서운 47000 + 의 star
  • 가 있 습 니 다.
  • 공식 적 으로 Eslint 플러그 인 지원 을 제공 합 니 다.웹 스 톰 과 결합 하여 완벽 하 다
  • 은 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 () {
        },
    });

    좋은 웹페이지 즐겨찾기