GithubHelp home page GithubHelp logo

pop_stars_master's Introduction

想要正常运行此项目请关闭social节点 因为子域目前暂不开源嗷

cocoscreator 合作开发规范

命名规范

1. 项目名称

采用全部小写+下划线方式

eg : su_story_origin

2. 编辑器内节点、文件夹名、文件名命名规范

采用首字母大写驼峰命名

eg:PreStartPage、GameController、Scripts、CardPrefab

3. 脚本中

  1. 函数命名:采用首字母小写驼峰命名,必须能完整描述作用,用动词开头

eg : onGameOver、getGameData、updatePlayerPosition

  1. 变量命名:采用首字母小写驼峰命名,必须能完整描述作用,用修饰词开头
  2. 常量命名:采用全大写的命名,且单词以_(下划线)分割

eg : MONSTER_MAX_NUM=10

  1. (私有)专有属性:采用首字母小写驼峰命名,必须在名称前加_(下划线)

eg :

init(controller){  
this._controller=controller  
}

常用git操作

项目使用git托管代码

特别注意:开始编码前和上传代码前务必先git pull从远程代码库拉取最新代码。

git常用命令

git add .将修改增加的代码提交暂存处

git commit -m 'commit message'提交暂存处代码到本地版本库

git commit -am 'commit message'将上面两个操作合并为一个(只限文本修改)

git push提交本地代码到远程分支

git branch查看当前git分支

git checkout branchName切换当前分支到branchName分支

git pull拉取远程分支内容更新本地分支

脚本规范

1. 入口文件尽量不要包括具体的逻辑

  • 入口文件指 controller游戏系统控制器 文件,它们是整个游戏的入口或者单个整块的游戏系统的入口。
  • controller 尽量不要包含具体的逻辑,它们的主要职责是描述游戏大体的框架,以及指派具体工作给其他组件。
  • 若加入新的组件,先思考是某个组件的子组件还是全局组件,不要把子组件放在 controller 中。
  • 全局组件请requirecontroller中,其他组件若想使用全局组件时,获取controller即可使用全局组件。

2. 代码简洁

  • 单个脚本文件代码量(包括注释),不许超过250行。

2. 开放接口,封闭实现

  • 面向对象编程的一个原则称为开放-封闭原则,简称OCP(Open-Closed Principle)。
  • 意即对扩展开放,对修改关闭。
  • 别的同学在使用你写的组件时,应该只要知道你的组件有哪些接口、如何调用就好,而无须关心你具体代码是怎么写的。
  • 你写的每一个 class ,都应该时刻为他人着想,考虑他人如何调用你的组件最方便。宁可自己多写点代码,也不要把麻烦留给他人。
  • 即使是只给自己用的 class,也应该尽力遵守这个OCP原则,这是程序员的基本功。

3. 使用 JSDoc 规范添加注释

  • JSDoc 官方手册(英文)
  • JSDoc 中文参考手册
  • /** 开头(有两个星号),另起一行,然后每行以 *(一个空格、一个星号、再一个空格)开头,最后一行以 */ (空格、星号、斜杠)结束
  • 在每个 ts 文件开头必须添加文件注释。
    • 必须项:@file(文件描述)@author(作者名字或昵称)@date(文件创建日期)
    • 可选项:@description(更详细的文件描述),此外还可以自由添加更多注释项(参考 JSDoc 手册)。
/**
 * 主控制器
 * @file 整个游戏的入口脚本
 * @author uu
 * @date 2018/12/15
 */
  • 在每个 function 和每个带有 publicexport 光环的变量、方法、接口、函数等,开头都必须添加注释。
    • 注释第一行写上描述。
    • 必须项(若有参数): @param {type} name - description,参数类型和说明,每个参数一行。
    • 必须项(若有返回值): @returns {type} description
    • 若是在别人创建的文件里添加 function,建议针对你的 function 单独加上 @author 留下你的大名(以及时间 @date)。
    • 鼓励自由发挥添加更多注释,但请尽量地遵守 JSDoc 规范。
    • 示例:
/**
 * 读取存档
 * @param {string} id - 存档号
 * @returns {string} 获得的存档
 * @author uu
 * @date 2018/12/15
 */
getLoadById(id){
    //XXXXXXXX
    return {}
};
  • class 可以不用添加注释,因为我们规定,每个文件应该只包含一个 class。请在文件开头使用 @file@description (可选) 注释 class 的用途。

视图层级(单场景)

  1. canvas层
    • 用于存放各个页面,并在canvas层上挂在page脚本控制各个页面的开关。
  2. camera层
  3. 脚本层
    • 纯粹用于挂在脚本
  4. UI层
    • UI层应该与游戏场景层分开,并且有专门的脚本控制

资源规范

文件夹目录

pop_stars_master's People

Contributors

yes86614520 avatar youyou233 avatar zymy1989 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.