一个问题的暴漏有多难? 过五关!!!

@我们先来看看, 这个错误是经过了怎样的“工序”, 穿越了多少障碍, 需要多少运气, 最终才能
被“发布”出来

第一道关: 程序员

优秀的代码源于我们对细节的热情和执着

编译器

在这里, 我要提醒你的是, 对于编译器的警告, 我们一定要非常警觉。 能消除掉所有的警告, 你
就应该消除掉所有的警告。 就算实在没有办法消除掉编译警告, 那你也一定要搞清楚警告产生的
原因, 并确认编译警告不会产生任何后续问题

回归测试 ( Regression Testing)

软件测试会尽可能地覆盖关键逻辑和负面清单, 以确保关键功能能够正确执行, 关键
错误能够有效处理。 一般情况下, 无论是开发人员, 还是测试人员, 都要写很多测试代码, 来测试软件是否达到预期的要求。

这些测试代码还有一个关键用途就是做回归测试 。 如果有代码变更, 我们可以用回归测
试来检查这样的代码变更有没有使代码变得更坏

代码评审

代码评审是一个有效的在软件研发过程中抵御人类缺陷的制度。 通过更多的眼睛检查软件代
码, 被忽视的错误更容易被逮住, 更好的设计和实现更容易浮现出来。
那代码评审是怎么实现的呢? 一般情况下, 代码评审是通过阅读代码变更进行的。 而代码变更一般通过某种形式的工具呈现出来。 比如OpenJDK采用的Webrev。 你可以访问我的一个代码评审
使用的代码变更页面 , 感受下这种呈现方式。

第五道关: 代码分析

静态代码分析(Static Code Analysis) 是通过对源代码的检查来发现潜在问题的一种软件质量保
障方式。 有很多静态代码分析工具可以帮助你检查代码缺陷, 比如说商业软件Coverity, 以及开
源软件FindBugs。 你可以试试看, 有哪些工具可以检测到这个“GoTo Fail”问题。

代码覆盖率(Code Coverage) 是一个反映测试覆盖程度的指标。 它不仅仅量化测试的指标, 也
是一个检测代码缺陷的好工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值