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

第一道关: 程序员

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

编译器

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

回归测试 ( Regression Testing)

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

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

代码评审

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

第五道关: 代码分析

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

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

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

  1. Github 再现失误:部分用户密码明文暴漏

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! Github 官方近日承认,由于失误导致一部分用户的密码被以明文的方式暴露了,但只有少数员工 ...

  2. ES6模块化的引入和暴漏本质

    无论什么样的暴露方式,往外暴露的都是一个模块 只不过,暴露的模块形成方式不一样 默认暴露 比如暴漏的是 export default {a:100} 暴露的是一个模块,这个模块里面是以default为 ...

  3. 初试 Kubernetes 暴漏服务类型之 Nginx Ingress

    目录 Ingress 介绍 环境.软件准备 部署 Default Backend 部署 Ingress Controller 部署 Ingress Name based virtual hosting ...

  4. Kubernetes暴漏服务类型之Nginx Ingress

    Kubernetes暴漏服务类型之Nginx Ingress 一.Ingress 介绍 LoadBlancer Service NodePort Service 1.NodePort类型的服务 Ing ...

  5. 基于SpringBoot监控Java项目,暴漏springboot内置端点

    基于SpringBoot监控Java项目的指标 文章目录 基于SpringBoot监控Java项目的指标 监控java项目有哪些方案 springboot内置端口 prometheus 如何使用 sp ...

  6. k8s——通过暴漏端口实现外部访问服务

    通过nodeport暴漏端口 修改nginx-service.yaml文件 apiVersion: v1 kind: Service metadata:name: nginxdeploy spec:t ...

  7. [k8s]如何处理dockerfile无expose情况下在k8s里暴漏访问

    做镜像时候忘记expose端口了, 或者要做一个通用的镜像, expose端口不固定, 又要在k8s环境里跑并暴漏服务访问,怎么破? 实际上: yaml的ports:- containerPort: ...

  8. TPLinker实体关系抽取新范式TPLinker:单阶段联合抽取,并解决暴漏偏差~

    https://zhuanlan.zhihu.com/p/342300800(https://zhuanlan.zhihu.com/p/342300800) https://zhuanlan.zhih ...

  9. 你的代码暴漏了你的年龄(毕业设计)--技术文档+程序源代码

    现在社会上最流行的一句话:你的脖子暴露你的年龄:听过一首歌你就暴露了你的年龄:说了一句广告语暴漏了你的年龄:看过一部电影或电视剧暴漏了你的年龄:你最常用的表情包暴露了你的年龄:暴漏了你的年龄:暴漏了你 ...

最新文章

  1. pybind 编码h264
  2. 袁隆平院士在湖南农业大学新生典礼上的致辞
  3. 【GAN优化】GAN优化专栏上线,首谈生成模型与GAN基础
  4. Serverless 全能选手,再下一城
  5. nodejs项目npm start背后的工作原理
  6. Springboot 打包成jar以后,读取resources里的文件夹
  7. 1806. [NOIP2014]无线网路发射器选址
  8. 海盗分金问题 冲突分析—非合作博弈
  9. 在windows下安装 Ruby on rails 的血泪史
  10. WebWork深入浅出 (转贴)http://www.blogjava.net/moxie/archive/2006/10/20/76375.html
  11. linux查看etc下yam文件,在Linux上用Netplan进行网络配置
  12. html在线添加页码,Wkhtmltopdf添加页码
  13. 国内外常用公共NTP网络时间同步服务器地址
  14. 2018北航计算机 北理工计算机夏令营经验分享
  15. 关于taz文件解压成tar文件这件事(根源在于7-Zip)
  16. informatica添加MySQL表,Informatica 简单使用
  17. 室外无线覆盖解决方案
  18. C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序
  19. DVB-S2中的LDPC
  20. 2020年游戏建模师发展前景怎么样?值不值得入坑

热门文章

  1. 深度优先搜索(DFS) 总结(算法+剪枝+优化总结)
  2. cesium实现动态立体墙效果
  3. Go语学习笔记 - gorm使用 - gorm处理错误 Web框架Gin(十)
  4. 【Willy Susilo 学术报告】Public-Key Encryption with Multi-Ciphertext Equality Test in Cloud Computing
  5. 蓝魔手机回归产品本身 老战友魅族OPPO怎么看?
  6. 阿里云免费SSL证书申请与安装使用-附Nginx,Apache,IIS 6,IIS 8配置SSL教程
  7. oracle omf管理,使用OMF管理表空间
  8. python 基础语法--print,input,open的内置函数的操作
  9. “互联网+工业”下的大数据应用场景分析
  10. 中央电教馆虚拟实验服务器,中央电化教育馆中小学虚拟实验试点工作启动暨培训会侧记...