曹耘豪的博客

当我们在写代码的时候,我们在写什么

  1. 代码
    1. if的写法
      1. 提前判断,提前退出
      2. if条件是boolean或者无状态的判断表达式
    2. for的写法
      1. 与forEach和stream的区别
      2. 与while的区别
    3. try的写法
      1. 为什么使用try
      2. 使用catch和throw的原则
    4. 函数的写法
      1. 入参尽可能的简单,且使用通用类型
      2. 不要在函数内暗置补偿逻辑
  2. 外部依赖
    1. 数据库操作
      1. 避免每次更新所有字段
      2. 不要跨方法传递和更新实体
      3. 事务与分布式锁

这个世界上最远的距离,不是从马里亚纳海沟到珠穆朗玛峰,而是知道和做到之间。——罗翔

代码

if的写法

提前判断,提前退出

if条件是boolean或者无状态的判断表达式

for的写法

与forEach和stream的区别

与while的区别

try的写法

为什么使用try

使用catch和throw的原则

函数的写法

入参尽可能的简单,且使用通用类型

不要在函数内暗置补偿逻辑

不要处理我们无法处理的异常,参考try的写法

外部依赖

数据库操作

避免每次更新所有字段

不要跨方法传递和更新实体

比如在外层方法取出实体,在调用另一个方法内部去更新实体

事务与分布式锁

当使用分布式锁时,只有在获取到分布式锁后,再开启事务

具体步骤为:

  1. 先拿到分布式锁,锁内再次校验状态(二次判断,或通过db update where判断)
  2. 数据处理
  3. 开启事务,执行更新,提交事务,判断是否更新成功
   /