代码规范

后端

来源:码出高效_阿里巴巴Java开发手册

  • 缩进
    • 缩进采用4个空格,禁止使用tab字符。
  • 变量命名
    • 变量命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
    • 变量命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
    • 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
    • 杜绝完全不规范的缩写,避免望文不知义。
  • 类命名
    • 类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / BO / DTO / VO等。
    • 抽象类命名使用Abstract或Base开头
    • 异常类命名使用Exception结尾
    • 测试类命名以它要测试的类的名称开始,以Test结尾
  • 枚举
    • 枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开
    • 如果变量值仅在一个范围内变化用Enum类。如果还带有名称之外的延伸属性,必须使用枚举类
  • 每行最多字符数
    • 单行字符数限制不超过 120个,超出需要换行,换行时遵循如下原则:
      • 第二行相对第一行缩进 4个空格,从第三行开始,不再继续缩进
      • 运算符与下文一起换行
      • 方法调用的点符号与下文一起换行
      • 在多个参数超长,逗号后进行换行
      • 在括号前不要换行
  • 函数最大行数
    • 200行
  • 常量
    • 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
    • long或者Long初始赋值时,必须使用大写的L,不能是小写的l,小写容易跟数字1混淆,造成误解。
  • 空行规则
    • 方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义之间插入一个空行
    • 相同业务逻辑和语义之间不需要插入空行
  • 注释规则
    • 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/ */注释,注意与代码对齐。
    • 所有的枚举类型字段必须要有注释,说明每个数据项的用途。
    • 与其“半吊子”英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持英文原文即可。
  • 操作符前后空格
    • 除单目运算符外任何运算符左右必须加一个空格。
  • SQL规约
    • 使用ISNULL()来判断是否为NULL值。
    • 禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。

前端

来源:GOOGLE
一、使用空格代替tab,应该使用2个,而不是4个空格带实现缩进。

二、不能省略分号,每个语句必须以分号结尾。不允许依赖于JS自动添加分号的功能。

三、暂时不要使用ES6 module,由于ES6模块的语义尚不完全确定,所以暂时不要使用,比如export和import关键字。一旦它们的相关规范制定完成,那么请忽略这一条规则。
四、不推荐代码水平对齐,允许但不推荐对代码进行水平对齐。即使之前的代码中做了水平对齐的处理,以后也应该避免这种行为
五、杜绝var,使用const或let来声明所有局部变量。如果变量不需要被重新赋值,默认应该使用const。应该拒绝使用关键字var。
六:使用模板字符串取代连接字符串,在处理多行字符串时,模板字符串比复杂的拼接字符串要表现的更出色。
七、优先使用箭头函数,箭头函数提供了一种简洁的语法,并且避免了一些关于this指向的问题。相比较与function关键字,开发者应该优先使用箭头函数来声明函数,尤其是声明嵌套函数。
八、优先使用 for...of,在ES6中,有3种不同的for循环。尽管每一种有它的应用场景,但Google仍推荐使用 for...of。
九、不要使用eval语句,除非是在code loader中,否则不用使用eval或是Function(...string)结构。这个功能具有潜在的危险性,并且在CSP环境中无法起作用。
十、常量的命名规范,常量命名应该使用全大写格式,并用下划线分割。
十一、使用单引号,只允许使用单引号包裹普通字符串,禁止使用双引号。如果字符串中包含单引号字符,应该使用模板字符串。

posted @ 2021-03-31 23:20  nafup  阅读(87)  评论(1编辑  收藏  举报