负面清单

Posted by 孙继峰 on November 6, 2020
  • 查库之前的IN参数要判断空, 轻则抛异常, 重则全表查询
  • Mysql Server 和 connection 必须有一处指定时区, 否则更新时间类型时时间会不正确
  • 消费binlog时DDL只有库名,没有表名, spilt后单取表名会数组越界
  • JDBC批量更新前要对唯一键/主键排好序, 否则不同事务中并发更新会导致死锁
  • 日志要配置roll策略, 防止日志突增把机器磁盘打满
  • Debug的时候可要切到对应的分支. (测半天都没通过, 一看是分支不对)
  • Tuples.of 的数据不能为null, 否则抛空指针
  • Maps::asMap 返回的 Map 不支持 put, put 会抛 UnSupportOperationException
  • 列表需求遗漏
  • Doublenull 赋值给 double 类型的变量, 异常就产生了
    Long sumTC = 0L;
    // false
    Objects.equals(0, sumTC);
    // true
    Objects.equals(0L, sumTC);
    
  • 测试环境发了线上包, 线上环境发了前一个版本的包, 从包命名上无法区分环境与版本
  • 对外开放的接口不要走鉴权校验
  • 调用外部接口时经纬度传反了, 正确的”118.7990,31.9680”, 我传的”31.9680,118.7990”
  • 和DA沟通产生歧义, DA无法在上线前刷完数据, 导致交付延期
  • Jackson 反序列化需要有无参构造器