switch
- 每个case要么通过continue、return、break等停止,要么做好注释将执行到哪个case
- 在一个switch内必须包含一个default,并放在最后
- switch中的变量可能为null时,必须进行判断,否则可能npe
condition
- 三目运算需注意类型对齐,否则可能导致拆箱导致的异常
- 触发类型对齐的拆箱操作:
表达式1或表达式2只要有一个是原始数据类型
表达式1或表达式2类型不一致会强制升级成表示范围更大的那个类型
控制语句习惯
- 不要在条件中写表达式,在外面写
- 避免采用反逻辑的运算符,保持方便理解
高并发场景规约
- 避免使用等于作为中断或退出的条件,使用大于或小于的区间判断,避免产生等值击穿的状况
参数校验的场合
- 调用频次低的方法
- 对外提供的接口
- 执行开销(时间、性能)大的函数,需提前校验
- 需要极高稳定性的业务
- 敏感权限入口
不需要参数校验的场合
- 极有可能被循环调用的方法
- 底层调用频次较高的方法
- 类的内部private方法