- 修改完代码,记得自测一下(再小的修改也最好测一下,哪怕是一个变量);
- 方法入参尽量都检验(校验参数);
- 修改老接口时,思考接口的兼容性;
- 对于复杂的代码逻辑,添加清楚的注释;
- 使用完 IO 资源流,需要关闭(比如链接数据库,es等);
- 代码采取措施避免运行错误(如数组边界溢出);
- 尽量不要在循环里远程调用或者对数据库操作,优先考虑批量进行(先批量查处,然后再循环处理);
- 写完代码,脑洞一下多线程执行会怎样,注意并发一致性问题(考虑并发问题);
- 获取对象/数组的属性,先判断对象/数组是否为空;
- 多线程异步优先考虑恰当的线程池,而不是new thread(降低资源损耗、提高响应速度、便于重复利用)<注意线程池隔离>;
- 手动写完代码业务的SQL,先拿去数据库跑一下,同时也explain看下执行计划;
- 调用第三方接口,需要考虑异常处理、安全性、超时重试这几个点(重要的需要考虑签名、加密等);
- 接口考虑幂等性(接口多次点击请求);
- 多线程情况下,考虑线性安全问题;
- 主从延迟问题考虑;
- 缓存的时候,考虑缓存跟DB的一致性,还有(缓存穿透、缓存雪崩和缓存击穿)。
网友评论