修改他人代码:怎么才能减少发布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
本文来源:  掘金  如需转载请联系原作者





相关文章
|
6月前
|
供应链 测试技术
修复糟糕的代码气味
修复糟糕的代码气味
63 11
|
7月前
|
消息中间件 前端开发 关系型数据库
🤔️测试问我:为啥阅读量计数这么简单的功能你都能写出bug?
🤔️测试问我:为啥阅读量计数这么简单的功能你都能写出bug?
|
SQL 关系型数据库 数据库
记一次程序 Bug 导致数据删除的恢复过程
使用RDS、DMS进行数据恢复实践
1005 0
|
JavaScript 安全 前端开发
修改MD5值:降低iOS应用程序关联性判定,减少拒绝风险
ios应用程序存储一些图片,资源,配置信息,甚至敏感数据如用户信息、证书、私钥等。这些数据怎么保护呢?可以使用iOS提供的Keychain来保护敏感数据,也可以使用加密技术,或者使用Ipa Guard 来弱化文件名称含义,增加破解难度。实现保护iOS app应用程序不被反编译、破解或篡改。
|
SQL 缓存 NoSQL
写代码有这16个好习惯,可以减少80%非业务的bug
每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~1. 修改完代码,记得自测一下...
354 0
|
设计模式 JavaScript 前端开发
如何优雅的消除系统重复代码
在程序猿的日常工作中,不仅要跟随业务侧的发展不断开发新的需求,同时也需要维护老的已有平台。无论是开发新需求还是维护老系统,我们都会遇到同样一个问题,系统中总是充斥着很多重复的代码。
29582 11
如何优雅的消除系统重复代码
生成器运行时机导致的难以察觉的 bug
生成器运行时机导致的难以察觉的 bug
76 0
关于《生成器运行时机导致的难以察觉的 bug》勘误
关于《生成器运行时机导致的难以察觉的 bug》勘误
81 0
|
存储
无主复制系统(2)-读修复和反熵
复制模型应确保所有数据最终复制到所有副本。在一个失效节点重新上线后,如何追上错过的写入?Dynamo风格的数据存储系统常用机制
101 0
|
算法 人工智能 机器学习/深度学习
写1行代码影响1000000000人,这是个什么项目?
这些万里挑一的年轻技术人不约而同地聚集在了这里。
1625 0
写1行代码影响1000000000人,这是个什么项目?
下一篇
DataWorks