立完flag,你可能需要对flag进行量化
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师。
官方网站:devui.design
Ng组件库:ng-devui(欢迎Star)
官方交流:添加DevUI小助手(devui-official)
DevUIHelper插件:DevUIHelper-LSP(欢迎Star)
引言
当你的能力足够,并且获得领导的信任之后,很自然地就会去承担更大、更重要的责任,比如成为大中型业务的Owner。
大中型业务指的是该业务足够大,足够复杂,仅凭一己之力无法按要求交付版本,需要团队协作。
我们假设该业务一共12个人,其中角色分布如下(按产品研发流程排序):
角色 | 职责 | 成员数 |
---|---|---|
产品经理 | 对接用户,是需求的来源 | 1 |
项目经理 | 管理项目进度,有节奏地进行版本交付 | 1 |
设计 | 负责UI交互和视觉,是用户体验的设计者 | 1 |
前端 | 前端用户界面和交互效果开发 | 3 |
后台 | 后台数据存储和接口开发 | 4 |
测试 | 负责版本质量 | 1 |
运维 | 负责现网部署 | 1 |
如果你被分到该业务,成为前端Owner,你可能需要做些什么,以高效率、高质量地实现版本交付呢?
1 明确目标和职责
首先要了解组织和领导对你的期望,假设组织希望你能够改善该业务的交付质量,赢得用户口碑。
目标非常明确,就是提升交付质量
,这个目标将牵引你未来一年的方向和行为,也是你超预期完成目标的前提。
有了目标之后,我们还需要去衡量它,这样才知道有没有提升,尽量寻找可以量化的指标。
这一块可以参考我们以前的文章:《如何度量前端项目研发效率与质量》
2 交付质量的组成
质量代表的是好不好,问题越少就越好。
从产品侧来看,缺陷率
和JS错误率
都是非常不错的衡量指标。
从开发侧来看也有很多很好的衡量指标,比如:
重复率
圈复杂度
ESLint问题数
巨石文件/方法数
3 计算缺陷率
缺陷率=缺陷数/代码规模
缺陷也就是BUG,当我们开发完产品特性后,需要部署到测试环境,并提测,测试人员测试完,会提一堆BUG单,这些BUG的数量就是缺陷数。
代码规模可以用代码行数来表示,一般源码都放在工程根目录下的src目录中,可以使用cloc工具统计代码行数:
cloc src
如果要排除里面的某些目录,比如__tests__
,可以加上--exclude-dir
参数
cloc src --exclude-dir=__tests__
比如html2canvas
库的代码行数:
有了缺陷数和代码规模,就可以计算缺陷率啦。
可以先统计下历史迭代的缺陷率,缺陷数可以通过查看测试报告
获得,该版本增加的代码行数可以通过Git提交记录
获得。
比如上一个迭代1.2.6
,从2020.12.14-2020.12.25
。
我们可以使用以下命令统计到新增的代码行数:
git log --after="2020-12-14 00:00:00" --before="2020-12-25 23:59:59" --pretty=tformat: --numstat | grep -v 'static' | awk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加行数:%s 删除行数:%s 变化总行数:%s\n",add,subs,loc }'
还是以html2canvas举栗子