好习惯

作者: Primary_0c73 | 来源:发表于2020-11-30 13:57 被阅读0次

    1. 修改完代码,记得自测一下

    2. 方法入参尽量都检验

    3. 修改老接口的时候,思考接口的兼容性。

    4.对于复杂的代码逻辑,添加清楚的注释

    5. 使用完IO资源流,需要关闭

    6.代码采取措施避免运行时错误(如数组边界溢出,被零除等)

            :String name = list.get(1).getName(); //list可能越界,因为不一定有2个元素哈

    7.尽量不在循环里远程调用、或者数据库操作,优先考虑批量进行。

    8.写完代码,脑洞一下多线程执行会怎样,注意并发一致性问题

    9.获取对象的属性,先判断对象是否为空

    10.多线程异步优先考虑恰当的线程池,而不是new thread,同时考虑线程池是否隔离

    11. 手动写完代码业务的SQL,先拿去数据库跑一下,同时也explain看下执行计划。

            :explain select * from user where userid =10086 or age =18;

    12.调用第三方接口,需要考虑异常处理,安全性,超时重试这几个点。

    13.接口需要考虑幂等性

    14. 多线程情况下,考虑线性安全问题

    15.主从延迟问题考虑

    16.使用缓存的时候,考虑缓存跟DB的一致性,还有(缓存穿透、缓存雪崩和缓存击穿)

            :缓存雪崩:指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。

            缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。

            缓存击穿:指热点key在某个时间点过期的时候,而恰好在这个时间点对这个Key有大量的并发请求过来,从而大量的请求打到db。

    相关文章

      网友评论

          本文标题:好习惯

          本文链接:https://www.haomeiwen.com/subject/ycmrwktx.html