CodeStyle, 代码风格
一 Code Style
- 使用
arrow
函数代替匿名函数表达式。 - 只要需要的时候才把
arrow
函数的参数括起来。 比如,(x) => x + x
是错误的,下面是正确的做法: i.x => x + x
ii.(x,y) => x + y
iii.<T>(x: T, y: T) => x === y
- 总是使用
{}
把循环体和条件语句括起来。 - 开始的
{
总是在同一行。 - 小括号里开始不要有空白.
逗号,冒号,分号后要有一个空格。比如:
i.
for (var i = 0, n = str.length; i < 10; i++) { }
ii.if (x < 10) { }
iii.function f(x: number, y: string): void { }
- 每个变量声明语句只声明一个变量
(比如 使用
var x = 1; var y = 2;
而不是var x = 1, y = 2;)
。 else
要在结束的}
后另起一行。
二 Git Style
Commit message Style 规范在 rrd-fe 落地使用情况
参考原文:
针对团队目前使用的情况,我们讨论后拟定了commit message
每一部分的填写规则。
1. type
type
为必填项,用于指定commit的类型,约定了feat
、fix
两个主要type
,以及docs、style、build、refactor、revert五个特殊type
,其余type
暂不使用。
# 主要type
feat: 增加新功能
fix: 修复bug
# 特殊type
docs: 只改动了文档相关的内容
style: 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
build: 构造工具的或者外部依赖的改动,例如webpack,npm
refactor: 代码重构时使用
revert: 执行git revert打印的message
# 暂不使用type
test: 添加测试或者修改现有测试
perf: 提高性能的改动
ci: 与CI(持续集成服务)有关的改动
chore: 不修改src或者test的其余修改,例如构建过程或辅助工具的变动
当一次改动包括主要type
与特殊type
时,统一采用主要type
。
2. scope
scope
也为必填项,用于描述改动的范围,格式为项目名/模块名,例如:
node-pc/common
rrd-h5/activity
,而we-sdk
不需指定模块名。如果一次commit修改多个模块,建议拆分成多次commit,以便更好追踪和维护。
3. body
body
填写详细描述,主要描述改动之前的情况
及修改动机
,对于小的修改不作要求,但是重大需求、更新等必须添加body来作说明。
4. break changes
break changes
指明是否产生了破坏性修改,涉及break changes的改动必须指明该项,类似版本升级、接口参数减少、接口删除、迁移等。
5. affect issues
affect issues
指明是否影响了某个问题。例如我们使用jira时,我们在commit message
中可以填写其影响的JIRA_ID
,若要开启该功能需要先打通jira
与gitlab
。参考文档:https://docs.gitlab.com/ee/user/project/integrations/jira.html
填写方式例如:
re #JIRA_ID
fix #JIRA_ID