写英文bug的经验总结
本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html
由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确,后来通过多看美国人开的bug,就慢慢掌握开bug的技巧了,慢慢的就比较轻车熟路了。这篇文章就来总结一下我平时开bug的技巧, 其实中文的也比较类似了。
1. 开bug的一些原则
- 除非百分之百确定,否则不要用should,不要有你认为是XXXX的句子,尽量用陈述句,因为这样万一是As Designed,会被开发人员骂XX。
- 少用定语从句! 外国人真的很少用定语从句,可以考虑简化为前置形容词或者拆分成两个句子,具体可以看这篇文章。https://zhuanlan.zhihu.com/p/32301914
- if/after,尽量尽量不要用这两个词,因为阅读顺序是从左往右的,if和after又在后面,不利于阅读, 非要用的话,这两个词前面的句子不要太长;
- Repro steps句子也不要太长,长句子分成好几个短句子,尽量短描述清晰, 不重要的步骤不需要放图;
- 遇到比较奇怪的bug,需要贴上更多的信息,比如url/哪个资源/浏览器,最好再录个视频(防背锅);
2. 一些重点词汇
经常开bug的话,也是可以找到一些技巧的,常见的情况就那几种,当XXXX,出现了XXXX;不应该出现XXXX;什么功能坏掉了;什么东西会导致XXX结果。常用的句型都可能是类似的。我就总结了以下几个常用的词汇/句型,然后句子示例是搜集的美国人写的句子。由于工作隐私问题: 就删除了一些关键句子,是不影响句子阅读的。
should:
- The saved list should show the actual report selected.
- Scroll bar shouldn't be showed up when xxxx;
动名词:
- Clicking on the refresh button in saved list blade refreshes the xxxx.
- clicking on xxxx in xxxx makes it switch to "loading..."
- split by using Properites fails for "xxxxx"
- Cohorts are not being used when xxxxxx
- Adding request filters seems to be broken
when:
- selected events are deselected when xxxxx
- xxxxx appear as modified when opening
- Getting data... is shown when no data is found
- Wrong chart when splitting by xxxxx
happen:(多用在repro steps)
- This seems to be happening across all our reports.
There be:
- There are no xxxxx when just requests are selected
- there's no selection for "xxxxx"
- There is no feedback when saving report
Broken:
- Adding request filters seems to be broken
- time range dropdown in notebook is broken
- Sort by xxxx is broken in the grid control
- SplitBy for some dimensions is broken
特定的XXX:
- Open Users for a resource that only has custom events and requests.
- Click on one of the Add these filters on any Request clusters.
- open a report with custom time range
- The settings popup is hidden behind the new ME chart in Edge
if/after:
- Dropdown stuck after closing custom time range window
- Charts are not refreshed after deleting xxx
- Queries keep UX stuck if time range changed xxx
make:
- clicking on xxxxx in filters makes it switch to "loading..."
- Saved list items don't have tooltips which makes it impossible to read reasonable lenght names
3. 开bug的几个步骤
- 确定稳定重现的步骤
- 确定bug的几个关键因素 (发生什么页面,严重优先级,先决条件)
- 要是有先决条件,确定用什么 副词,when?if?或者什么重要的单词 Fail?Broken?Loading?should?There be?make?show?动名词作主语?
- 完成标题,保证动词/特定词汇的准确性,不要出现语法错误,分享两个网址,如何主动积累词汇学习如何积累词汇,批改网避免语法错误;
- 描述repro steps, 可参考上面的句子
- 可以补充期望是什么样子? 实际是什么样子? 要是不改可能会造成什么影响?
- 要是自己能定位问题,可以进行抓包,贴log,贴console,是哪一次PR导致错误;
本文希望对您有所帮助,如何问题可联系我的个人微信
![]()
写英文bug的经验总结的更多相关文章
- SCI&EI 英文PAPER投稿经验【转】
英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...
- 架构师写的BUG,非比寻常
部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...
- 没错,老板让我写个 BUG!
前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动.这可是我特长啊:终于可以光明正大的写 bug 了
- 13 年的 Bug 调试经验总结
在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...
- 13 年的 Bug 调试经验总结 【转载】
在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...
- 13 年的 Bug 调试经验总结(来自蜗牛学院)
在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug. 最近,我回顾了我所有的194个条目,看看有什么经验教训是我可以学习的.下面 ...
- 嵌入式码农的10年Bug调试经验,值得一看
下面这些都是我经历过的会导致难点bug的问题: 1.事件顺序.在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通 ...
- 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?
摸不了鱼了 2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班.刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理 ...
- 脚本写一行echo也能写出bug ? glob了解一下
背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...
随机推荐
- web安全问题-csrf
web安全问题 csrf <script> document.write(` <form name="commentForm" target="csrf ...
- v-touch使用方法以及在项目中遇到的问题
上篇博客中我记得还有一个坑没有解决好,在这篇博客中详细说明一下. 在 https://github.com/dreamITGirl/vuepageturn 我的这个代码库里,更新到2.1版本. 目前解 ...
- OkHttp 3.x 源码解析之Interceptor 拦截器
拦截器 Java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提 ...
- linux模式切换,进程切换
内核态和用户态的切换: 用户态到内核态的转换:1.进行系统调用,2.异步中断,3.外部硬件中断 检查特权级别的变化:当异常发生在用户态,而异常处理函数则必须运行在内核态,则此时必须调用内核态的堆栈(系 ...
- 19.Longest Substring Without Repeating Characters(长度最长的不重复子串)
Level: Medium 题目描述: Given a string, find the length of the longest substring without repeating cha ...
- Android自动化----adb shell,appium,uiautomator2
1.区别 1,adb shell脚本的方式 不但可以在有电脑的情况下使用,通过数据线连接电脑然后adb shell命令,而且还可以打包成app,在手机的终端使用adb shell命令. 2,appiu ...
- Java实现微信小程序支付(支付,提现,退款)
1.添加WXpayCommon类用以具体实现功能,代码如下: package com.karat.cn.wxCommon; import java.io.IOException; import jav ...
- PXE刷机,存储节点失败
最近刚刚帮客户对一台满配的X6-2刷机初始化,尝试了下PXE方式,但刷完机后,发现计算节点的imagehistory输出的状态都是成功的,而所有的存储节点状态都为failure,具体如下: [root ...
- java背包的数组实现,链表实现
数组实现 package base.structure; import java.lang.reflect.Array; import java.util.Iterator; /** * @progr ...
- c#缓存帮助类
public static class CacheHelper { static object _lockObj = new object(); private static Dictionary&l ...