立完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举栗子
立完flag,你可能需要对flag进行量化相关推荐
- python flag 参数_flag_flagpython_js开关flag - 云+社区 - 腾讯云
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! apple.stackexchange.comquestions336888wh ...
- 和flag_不怕立Flag,就怕没有Flag
转眼间就已经是今年的最后一天了,回想去年给自己立下的flag,看着自己手机上的减肥计划和体测成绩上的超重,我陷入了沉思,到底是哪个环节出问题了呢? 我慢悠悠地在宿舍里转圈,看见舍友递过来的薯片,&qu ...
- java break flag_Java break [flag]; 与continue [flag]; 区别
break [flag]; 直接结束掉到标记(flag)层的循环 NO1:for(int i=0; i<100; i++){ for(int j=0; j<10; j++){ sum = ...
- html flag属性,html5 的flag是什么意思?
Html是英文HyperTextMarkupLanguage的缩写,中文意思是"超文本标志语言",用它编写的文件(文档)的扩展名是.html或.htm,它们是可供浏览器解释浏览的文 ...
- flog和flag_新年要想立flag不倒,你需要知道这些!
挥别魔幻的2020,拥抱2021,如果说对各位"打工人"而言开年第一件事是什么,那一定是打开日历,制定计划,继续立上去年没完成的Flag. 刚交完年终总结,你一定和小优一样在苦恼个 ...
- c语言中fiag的作用,flag是什么意思C语言,给自己立flag是什么梗!
现今的网络用语实在太多,很多我们都不知道是什么意思,小编问大家知道flag是什么意思吗?flag是什么梗吗?一起来看看. 很多人经常会说,我今天不小心立了一个flag,感觉自己真的是乌鸦嘴啊!或者说f ...
- c语言立flag什么意思,立flag是什么意思?立flag是下决心吗(代表不详的信号)
解答:立flag是网络上比较流行的语言,主要指的是当说出一句很激励人心的话,但是结果和预想完全不同,立flag也暗含被打脸的意思,也可以说这个人有些乌鸦嘴说什么都不成.立flag具体有哪些意思以及fl ...
- Go 学习笔记(45)— Go 标准库之 flag(命令行参数解析)
1. 参数解析说明 import "flag" flag 包实现了命令行参数的解析.每个参数认为一条记录,根据实际进行定义,到一个 set 集合.每条都有各自的状态参数. 使用 f ...
- : error c2062: 意外的类型“int”_Go 命令行解析 flag 包之扩展新类型
上篇文章 说到,除布尔类型 Flag,flag 支持的还有整型(int.int64.uint.uint64).浮点型(float64).字符串(string)和时长(duration). flag 内 ...
最新文章
- Java多线程开发之------多线程等待
- Python 使用readability 提取网页标题
- filter2D函数
- 【控制】《现代控制理论》谢克明老师-第2章-线性控制系统状态空间表达式的求解
- 研究阿里钉钉近三年,我们总结了10大企业级产品的营销套路
- 【已解决】ReferenceError: $ is not defined
- 有关[Http持久连接]的一切,卷给你看
- C#值类型和引用类型的不同
- 机器学习中的数学(二)--梯度下降法
- 【java基础知识】JDK环境下载安装过程(windows环境/Linux环境)+IDEA配置
- python a or b 输出值为_深入分析python的and or 返回值
- nrm —— 快速切换 NPM 源
- LINUX 版本信息查看(全)
- Rust :rustup的版本更新功能
- 艾宾浩斯30天计划表_干货丨艾宾浩斯遗忘曲线
- java 二维向量_二维向量的叉积是标量还是向量?
- 网课答案公众号查询方法
- 面试被问到【未来3-5年的职业规划】,到底该怎么回答?
- python初步判断车牌
- Gitee+Typora+PicGo+脚本
热门文章
- 无锁编程与有锁编程的效率总结、无锁队列的实现(c语言)
- Wannacry病毒分析
- IDEA启动Weblogic项目时弹出CMD窗口提示:已使用基本服务器安全策略安装了Security Manager
- 【Error Logs】YoloV5出现RuntimeError: result type Float can‘t be cast to the desired output
- IOCTL命令格式解析以及调用过程
- AliceBobGame-2021年东北大学算法题目详解
- 【深度首发】畅圣科技毛骏:寻找打通银行和保险业数据的完美入口丨Xtecher 封面
- AVPlayer的使用
- 百度UE-第一篇(ue的显示)
- JQuery切换显示的效果,一句话搞定