本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html

由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确,后来通过多看美国人开的bug,就慢慢掌握开bug的技巧了,慢慢的就比较轻车熟路了。这篇文章就来总结一下我平时开bug的技巧, 其实中文的也比较类似了。


1. 开bug的一些原则

  1. 除非百分之百确定,否则不要用should,不要有你认为是XXXX的句子,尽量用陈述句,因为这样万一是As Designed,会被开发人员骂XX。
  2. 少用定语从句! 外国人真的很少用定语从句,可以考虑简化为前置形容词或者拆分成两个句子,具体可以看这篇文章。https://zhuanlan.zhihu.com/p/32301914
  3. if/after,尽量尽量不要用这两个词,因为阅读顺序是从左往右的,if和after又在后面,不利于阅读, 非要用的话,这两个词前面的句子不要太长;
  4. Repro steps句子也不要太长,长句子分成好几个短句子,尽量短描述清晰, 不重要的步骤不需要放图;
  5. 遇到比较奇怪的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的几个步骤

  1. 确定稳定重现的步骤
  2. 确定bug的几个关键因素 (发生什么页面,严重优先级,先决条件)
  3. 要是有先决条件,确定用什么 副词,when?if?或者什么重要的单词 Fail?Broken?Loading?should?There be?make?show?动名词作主语?
  4. 完成标题,保证动词/特定词汇的准确性,不要出现语法错误,分享两个网址,如何主动积累词汇学习如何积累词汇,批改网避免语法错误;
  5. 描述repro steps, 可参考上面的句子
  6. 可以补充期望是什么样子? 实际是什么样子? 要是不改可能会造成什么影响?
  7. 要是自己能定位问题,可以进行抓包,贴log,贴console,是哪一次PR导致错误;

本文希望对您有所帮助,如何问题可联系我的个人微信

写英文bug的经验总结的更多相关文章

  1. SCI&EI 英文PAPER投稿经验【转】

    英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...

  2. 架构师写的BUG,非比寻常

    部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...

  3. 没错,老板让我写个 BUG!

    前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动.这可是我特长啊:终于可以光明正大的写 bug 了

  4. 13 年的 Bug 调试经验总结

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  5. 13 年的 Bug 调试经验总结 【转载】

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  6. 13 年的 Bug 调试经验总结(来自蜗牛学院)

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug. 最近,我回顾了我所有的194个条目,看看有什么经验教训是我可以学习的.下面 ...

  7. 嵌入式码农的10年Bug调试经验,值得一看

    下面这些都是我经历过的会导致难点bug的问题: 1.事件顺序.在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通 ...

  8. 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?

    摸不了鱼了 2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班.刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理 ...

  9. 脚本写一行echo也能写出bug ? glob了解一下

    背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...

随机推荐

  1. LAMP之Mysql源码配置安装

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  2. mybatis和jdbc分析

    从这个图上可以看出mybatis的整体执行图 jdbc的 mybatis对很多类型进行了转化,减少了开发的量

  3. pytorch实现depthwise convolution

    深度分离卷积是Xception这个模型中提出来的(不太确定,但肯定是它让这个概念为大众周知),具体来说分为两步,depthwise conv和pointwise conv,前者对输入特征图的每个通道进 ...

  4. inner join、left join、right join、full join

    A表 a1 b1 c1 01 数学 95 02 语文 90 03 英语 80  B表 a2 b2 01 张三 02 李四 04 王五 SQL语句:select A.*,B.* from A inner ...

  5. 小乐乐打游戏(BFS+曼哈顿距离)

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 小乐乐觉得学习太简单了,剩下那么多的时间好无聊 ...

  6. 江西财经大学第一届程序设计竞赛 D

    链接:https://www.nowcoder.com/acm/contest/115/D来源:牛客网 题目描述 事情,是这样的. 有这么一天双休日的中午. 我刚把我衣服扔进了洗衣机,然后拿了个小板凳 ...

  7. JavaScript trim 实现去除字符串首尾指定字符的简单方法

    String.prototype.trim = function (char, type) { if (char) { if (type == 'left') { return this.replac ...

  8. python 中is和= = 的区别

    Python中的对象包含三要素:id.type.value,其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是b对象,是通过id来判断的: ==判 ...

  9. 3.centos7 常用防火墙命令(转)

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  10. windows环境搭建禅道项目管理工具

    zentao官网的几个网址 http://www.zentao.net/ http://www.zentao.net/article-view-79863.html   搭建环境需要下载两个文件 1) ...