修改他人代码:怎么才能减少发布Bug概率?

简介:

最近的两次Bug:

  1. 做A需求的时候,看到以前的一段代码写的很难看,很不好维护,我忍不了了。所以麻(shou)利(jian)的修改了,然后我就狗带了~
  2. 做B需求的时候,要修改以前的代码,我在已有的函数上加了一个参数。然后我又狗带了~

发bug就像无孔不入的虫子,你以为你堵住了这个洞,但是它有在另外一个洞生长飞进来,防不胜防!

总结:导致发bug的原因往往不在新的功能和新的需求,而在你修改了以前的代码!!这些牵涉到的修改点,测试并不会去很仔细的测啊!!!!

以下是我们高工严厉指出并给我的建议并加上我的个人总结,与大家分享,定期踩坑更新(我希望再也不要更新了!!!)。

1. 修改前与原作者沟通

如果原作者还在,可以和原作者聊一下,最好他能讲一下代码结构,可以减少很多看代码的时间

2. 仔细阅读修改段落的上下文,并Get以下重点:
  • 包括参数命名模式
  • 注释风格等代码风格(分号啊,空行啊,空格啊.....)
  • 参数定义位置(一般都在顶部)
  • 函数定义方式(函数声明方式or 函数表达式方式)
  • 代码结构(MVC分块)

get之后就按照已有的风格进行修改,也许你是一个很有风格的码农,你可以改变其他人一起用这个风格~

3. 开始修改了,以下雷请扫:
  • 定义一个新的变量(函数): 记得检查变量作用域并全局搜索~ 不要自信的觉得你和别人定义的不一样。

  • 修改已有的函数参数: 不要修改参数顺序!!!!这样就算有些调用的地方你没有看到,也会降低很多的bug率。

25cd8e02ac3a97e1249b9fb937e3d2da0635083e


4. review一遍代码,这里分为自己review和邀请其他人review。
  • 自己review:
  1. 看是否有啥异常没有处理。前端经常犯错就是容错性不够好,毕竟从发起后台请求到你拿到数据,过程是多么艰辛。
  2. 修改了哪些点,尽可能记下来会影响哪些模块!!
  • 他人review: 对于新人来很有用啊~
5. 提交测试

把自己会影响的模块列出来发给测试,这样他才知道重点啊~尤其是在写新需求夹带修改旧代码的时候!! 这个很重要!!! 如果有接入前端错误监控的话,关注一下报错内容。我们项目是有接入Badjs错误监控的。

6. 发布之后,你的产品有论坛或者群吗?

有的话直接加上去,观察用户反馈。往往这些地方是bug反馈最及时的~~~~~

总结完了,忐忑的去吃鸡然后默默等待明天批评。



原文发布时间为:2018年05月27日
原文作者:MirroZhou
本文来源:  掘金  如需转载请联系原作者





相关文章
|
3月前
在代码优化过程中,常见的错误和bug包括以下几点
在代码优化过程中,常见的错误和bug包括以下几点
|
7月前
|
JavaScript 安全 前端开发
修改MD5值:降低iOS应用程序关联性判定,减少拒绝风险
ios应用程序存储一些图片,资源,配置信息,甚至敏感数据如用户信息、证书、私钥等。这些数据怎么保护呢?可以使用iOS提供的Keychain来保护敏感数据,也可以使用加密技术,或者使用Ipa Guard 来弱化文件名称含义,增加破解难度。实现保护iOS app应用程序不被反编译、破解或篡改。
|
11月前
关于《生成器运行时机导致的难以察觉的 bug》勘误
关于《生成器运行时机导致的难以察觉的 bug》勘误
54 0
|
监控 数据挖掘 BI
测试思想-测试执行 缺陷提交,优先级
测试思想-测试执行 缺陷提交,优先级
96 0
|
SQL 缓存 NoSQL
写代码有这16个好习惯,可以减少80%非业务的bug
每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~1. 修改完代码,记得自测一下...
293 0
|
测试技术
测试中的误报和漏报同样的值得反复修正
测试中的误报和漏报同样的值得反复修正
156 0
|
设计模式 JavaScript 前端开发
如何优雅的消除系统重复代码
在程序猿的日常工作中,不仅要跟随业务侧的发展不断开发新的需求,同时也需要维护老的已有平台。无论是开发新需求还是维护老系统,我们都会遇到同样一个问题,系统中总是充斥着很多重复的代码。
29468 11
如何优雅的消除系统重复代码
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 27丨每次访问的交易次数【难度困难-提前放出来】​
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 27丨每次访问的交易次数【难度困难-提前放出来】​
|
测试技术
软件测试 之【交叉测试又叫事件或 冲突测试】
软件测试 之【交叉测试又叫事件或 冲突测试】
|
搜索推荐 IDE 测试技术
如何验证程序是否完成,测试以及修正Bug?
在日常中,我们码代码都是按照需求来的,为了验证我们的工作成果是否符合项目的需求,那么验证程序是否完成、测试以及修复bug就成了我们工作中非常重要的流程。