在开发工作中,代码审核是一个非常重要的环节,尤其是对于新加入团队人员的代码审核
但是代码审核又是一个很难的工作,在很多公司根本进行不了
我认为更多的原因是,既要审核代码结构,又要审核代码逻辑,
如果代码结构混乱,那么逻辑就更难审核
在这里统一增加接口认证,参数校验等操作
写接口只需要继承BaseApi即可
- 输入参数审核
统一通过need_params来控制可接收的参数,并且指定各种限制,无需额外处理
在审核时,只需要查看need_params内容,即可一目了然
所有model统一继承BaseModel,所有表自动增加is_deleted字段
并且通过BaseManager自动过滤is_deleted=True(已经删除内容)
无需在业务逻辑中额外增加此操作,避免一些错误查询出现
在获取model内容,统一使用to_dict
- 定义model审核
是否继承了BaseModel,一目了然
是否使用正确方法获取model内容
所有model的改动操作都统一使用base/controllers.py中的方法
包括create_obj/update_obj/delete_obj等
比如update_obj中统一处理dt_update的值变更
如果需要记录日志,可以在这里增加日志逻辑
- 方法审核
是否改动操作均使用了基础方法
基于以上内容,很容易查看到代码中结构上的问题,
并且所有人都按此方式写,那么再审核逻辑时也会很容易
在写web服务时,不同接口除了业务逻辑不同之外,相似功能代码结构相似
因此最好在代码中先实现一些模范代码,要求大家必须如此写
这样就更进一步简化了审核难度