代码规范总结

异常处理

应当区分业务异常与未知异常,对于业务流程上出错的,应当手动向外抛出封装好的业务一场

流量入口

1、流量入口需要做好参数校验与权限校验
2、流量入口入参出参应当做好封装,出参应当包含统一的结果信息
3、流量入口层不应当处理业务逻辑,只做简单的参数转换与结果封装,业务逻辑交由下层完成
4、流量入口应当捕获所有异常并转换为异常码/异常信息返回,不应当对外抛出异常

系统交互

1、应当设置一层防腐层来调用外部的接口,防腐层完成模型转换,异常处理等工作,将外部系统的差异与异常全部隔离在防腐层
2、防腐层应当捕获所有异常,并做好强弱依赖,强依赖将外部问题转换为内部一场并向上抛出,若依赖则打印日志正常返回,避免若依赖阻塞核心流程
3、对外只暴露必要的接口与模型,不应当将具体的实现暴露出去
4、对外暴露的模型不应当过于复杂,模型字段不应当使用枚举类
5、系统内部不应当直接依赖外部模型,而是在防腐层将外部模型转换为内部模型
6、对外提供的接口职责应当是单一且明确的,入参出参应当只提供对方关心的字段,并标明必须与非必须

分层规范

1、每一层职责分明且单一,由上到下层次的功能粒度应当递减
2、同一层之间不允许互相调用,下层不允许调用上层,下层依赖上层的,可以通过事件等异步异步触发
3、对于复杂的业务逻辑,可以使用编排化的思想,将功能点拆分为小的业务逻辑,设置一层统一编排业务流程

日志打印

1、日志打印应当保留关键的上下文信息,以便快速定位问题,同时要注意不应当打印过多冗余信息
2、日志打印做好分类,对于正常流程打印info,对于业务流程校验出错的打印warn,对于业务流程严重出错的或系统异常的打印error
3、在主动构造异常以及捕获异常时应当打印日志,因为此时能捕获到真实的错误数据

其他

不应当出现魔法数,对于数值型且用于标明业务含义的,应当有对应的枚举,且不应当用默认值来表达业务含义

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值