07月10, 2018

ThinkJS代码规范

log规范

  • 调用think.logger接口
  • log格式为:函数路径+log内容
functionName() {
  think.logger.info('path/to/functionName ' + someLogStr);
  think.logger.error('path/to/functionName ' + someLogStr);
}

代码注释规范

  • 函数注释
/**
 * 解析微信登录用户数据
 * @param sessionKey 入参列表及说明
 * @returns userInfo 返回参数说明
 */
async decryptUserInfoData(sessionKey) {
  ····
  return userInfo;
}

# 行注释

// 如果用户没注册,则在数据库中增加该用户的信息
if(think.isEmpty(userId))


//用户id
let userId = this.post('userId');

//用户昵称
let name= this.post('name');

命名规范

  • 目录名

    一个单词,全部小写 rungroup activity user signin

  • 文件名

  • controller层:一个单词,全部小写 order activity user weibo
  • model/service层:尽量一个单词全部小写,多个单词时使用下划线分割 rungroup activity shop_arrangement
  • 函数名
  • controller层:一个单词,全部小写
    loginAction() {
    }
    
  • model/service层:驼峰格式

    getUserInfo() {
    }
    
  • 变量名

    • 常量字符串:全部大写,单词之间使用下划线分割
      const APPNAME = "大官人博客";
    
      const DAGUANREN_THINK_VERSION = "3.0";
    
    • 普通变量:驼峰格式
      let userName = this.post('userName');
      

其他注意事项

  • 页宽控制在80个字符内
  • 单行缩进4个空格,推荐使用HBuilder自带的整理代码格式(Ctrl+Shift+F)
  • 函数调用深度尽量控制在三层以内

本文链接:https://www.daguanren.cc/post/code_criterion_thinkjs.html

-- EOF --

Comments