面向BUG编程

Posted xnightsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向BUG编程相关的知识,希望对你有一定的参考价值。

任何时候BUG永远是存在的,在日常编码中我们该如何避免——

  1. 语法检查
    • 在日常的IDE中开始不同语言不同框架对应的语法检查,在编写出来同时就能发现错误
    • 在文件保存和版本commit提交的时候,再次进行语法检查,减少检查遗漏环节。
  2. 编码规范
    • 在代码入口尝试捕获异常(错误)。在代码入口捕获错误,能够作为程序防守的最后一个环节,无论是把异常落地,还是做其他处理,甚至抛出,是否非常有意义的。
    • 日志。日志不仅仅用来追踪代码运行逻辑,同时也能用来做为日志记录,方便后续开发查看。
    • 捕获后的处理
      • 优先日志落地,日志落地只依赖本地IO,影响 因素最小
      • 如果条件允许,日志上报到集中平台收集,方便快速定位
      • 处理异常。
      • 如果不处理,请抛出原先的异常,请尽量不要 把异常转换成一个自定义文案输出。
      • 如果需要转换成自定义文案输出,需要开发有追踪和反向转换的方式。比如——
        • 错误ID化。开发后期从ID查询
        • 错误转发到其他平台,开发后续一对一查看。
        • 错误的颗粒度足够小,开发和用户看到文案,都能知道是什么意思。(开发知道如何去修复,用户知道如何去做后续操作。)
    • 日常磨炼良好的编码习惯,保持个人的编程状态,多思考然后再编码等,从根源减少BUG。
  3. sentry,实时事件日志记录和聚合平台。推荐sentry集中日志收集
    • 定期查看sentry, 能从异常的角度观察你的程序。
    • 通过一些机制,能够及时发现异常的存在。
    • 能够通过sentry, 快速定位问题。

BUG无法避免,但是能够更少的产出BUG,也能快速的定位BUG,从而修复。

BUG又是何尝又不是另一种feature呢?

以上是关于面向BUG编程的主要内容,如果未能解决你的问题,请参考以下文章

UG编程UG编程多个外形开粗深度优先的方法

在QT编程中,QGraphicsView是怎么显示出图片的

UG编程小零件识图及绘图过程

UG编程-平面流道辅助体最快建模与编程

UG编程怎么进行2D编程?

UG编程粗加工案例之参考刀具主要问题