Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.82 KB

code_review.md

File metadata and controls

44 lines (33 loc) · 1.82 KB

背景

在开发工作中,代码审核是一个非常重要的环节,尤其是对于新加入团队人员的代码审核
但是代码审核又是一个很难的工作,在很多公司根本进行不了
我认为更多的原因是,既要审核代码结构,又要审核代码逻辑,
如果代码结构混乱,那么逻辑就更难审核

如何解决

统一入口base/api.py

在这里统一增加接口认证,参数校验等操作
写接口只需要继承BaseApi即可

  • 输入参数审核

统一通过need_params来控制可接收的参数,并且指定各种限制,无需额外处理
在审核时,只需要查看need_params内容,即可一目了然

统一基础模型base/models.py

所有model统一继承BaseModel,所有表自动增加is_deleted字段
并且通过BaseManager自动过滤is_deleted=True(已经删除内容)
无需在业务逻辑中额外增加此操作,避免一些错误查询出现
在获取model内容,统一使用to_dict

  • 定义model审核

是否继承了BaseModel,一目了然
是否使用正确方法获取model内容

统一基础方法base/controllers.py

所有model的改动操作都统一使用base/controllers.py中的方法
包括create_obj/update_obj/delete_obj等
比如update_obj中统一处理dt_update的值变更
如果需要记录日志,可以在这里增加日志逻辑

  • 方法审核

是否改动操作均使用了基础方法

基于以上内容,很容易查看到代码中结构上的问题,
并且所有人都按此方式写,那么再审核逻辑时也会很容易

更进一步

在写web服务时,不同接口除了业务逻辑不同之外,相似功能代码结构相似
因此最好在代码中先实现一些模范代码,要求大家必须如此写
这样就更进一步简化了审核难度