本篇文章总结了一下alibaba代码规范,并按照alibab对外文档总结了一些文档规范
关于代码和对接文档规范
日志
日志分级,可以使用
logging.SetLogLevel(logging.DEBUG)
去屏蔽一些日志debug
info
warn
error
应用中统一使用
zonst/logging
包去打印日志日志文件统一放在
/data/log/{app_name}/{app_name}.log
文件中在日志输出中,字符串变量之间的拼接应该使用占位符的方式,最好不要使用字符串拼接的方式
谨慎地记录日志。生产环境禁止输出
debug
日志;有选择地输出info
日志;如果使用warn
来记录刚上线时的业务行为信息,一定要注意日志输出量的问题,避免把服务器磁盘撑爆,并记得及时删除这些观察日志。大量地输出无效日志,不利于系统性能提升,也不利于快速定位错误点。记录日志时请思考:这些日志真的有人看吗?看到这条日志你能做什么?能不能给问题排查带来好处?
可以使用 warn 日志级别来记录用户输入参数错误的情况
错误码
- 错误码为字符串类型,一共五位,分两个部分,错误来源+四位数字编号
错误产生来源分为 A/B/C,A 表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付超时等问题;B 表示错误来源于当前系统,往往是业务逻辑出错,或程序健壮性差等问题;C 表示错误来源于第三方服务,比如 CDN 服务出错,消息投递超时等问题;四位数字编号从 0001 到 9999,大类之间的步长间距预留 100
- 编号不与公司业务架构,更不与组织架构挂钩,一切与平台先到先申请的原则进行,审批生效,编号即被永久固定。
- 错误码使用者避免随意定义新的错误码。尽可能在原有错误码附表中找到语义相同或者相近的错误码在代码中使用即可。
- 错误码之外的业务独特信息由 error_message 来承载,而不是让错误码本身涵盖过多具体业务属性。