• 如何避免在编码层面产生质量事故


    背景

            在日常开发中,产生BUG似乎看起来是习以为常的事情,但是如果在生产环境出现BUG,将会是蛮严重的问题,轻则警告处罚,重则扫地出门。虽然不同的公司对待生产BUG的严厉程度,可能不甚相同,但往往越大的公司,在高并发的场景下,小小的BUG也可能产生蝴蝶效应,最终造成大的问题。为了避免BUG可能在生产环境导致事故,还是应该从日常做起,避免在生产环境出现质量事故。

    避免措施

            作为一名优秀的程序员,应该养成好的编码习惯,避免因代码层面BUG,在生产环境造成的质量问题。下面是日常总结的可采取的一些措施:

    1. 已经稳定运行的代码,尽量避免大的改动;
    2. 慎重修改顶层抽象类和接口;
    3. 注意主次逻辑区分,次要逻辑异常不应影响主流程;
    4. 尽量使用成熟的工具类,尽量不自行造轮子;
    5. 注重编码规范,使用分析工具,减少低级错误;
    6. 代码逻辑尽量小而简单,大而复杂的考虑拆分;
    7. 重视代码影响范围,如果影响面过大的核心流程,慎之又慎;
    8. 慎重对待方法调用、返回值,考虑抛异常、空指针的可能;
    9. 慎重进行无判断的强制类型转换,可能无察觉的爆发;
    10. 注意方法异常处理,尤其是事务处理和消息队列中消费异常应对;
    11. 严格的代码品质控制,不要发半吊子的代码上去,指望后面再改进;
    12. 注意代码逻辑的粒度,保持尽量小的范围;对特定场景控制的,就不要对整个进行控制;
    13. 严格编写单元测试,保证所写代码被单元测试覆盖;
    14. 严格保证代码被测试人员测试,未经测试通过的代码不要上生产;
    15. 防御性编程,考虑外部输入的错误,可能会导致的内部异常;
    16. 考虑熔断,当数量级不对时,大概率是异常,及时熔断;
    17. 考虑告警,当出现异常时,及时告知对应人,避免产生蝴蝶效应;
    18. 考虑分化,当主流程过长时,对各种异常情况,是否影响主流程,分化出不同分支处理;
    19. 容错性设计 ,考虑在系统设计中引入容错性,使系统在面对异常或错误时能够继续正常运行,而不至于崩溃。
  • 相关阅读:
    RebatMq消息中间件(一) 各个中间件介绍
    中文语音识别实战(ASR)
    Java Coding Problems Second Edition --chapter 01
    Pikachu靶场——PHP反序列化漏洞
    LSTM Fully Convolutional Networks for Time Series Classification 学习记录
    基于51单片机的智能护眼台灯带闹钟功能proteus仿真原理图PCB
    车企如何利用数据技术,指导汽车全生命周期的业务运营?
    SpringBoot初体验
    02_diffusion_models_from_scratch_CN
    JavaWeb JavaScript
  • 原文地址:https://blog.csdn.net/weixin_40709965/article/details/134496526