【参】编程习惯
1、接口
接口路由和参数格式:
路由以 https://api.etcchebao.com/unitoll/card/is-bind-card 形式对外,后面的形式统一以 - 连接字符,参数以 access_token 形式对外,小写加下划线
2、代码格式
每进去一个公司在编写代码前,都必须要询问公司的代码格式是怎样的,路由形式、参数格式、变量格式、代码风格等,保持一致美观。。。如无,则按照上面的形式。。。
3、返回接口格式:
借鉴下大公司代码的返回格式,尽量json,一个值的情况也用object形式
4、检查写的每个接口的执行时间,尽量优化,减少IO、数据库连接、减少内存消耗等
5、日志
任何接口、重要位置都要留下执行日志:
任何接口调用的参数和返回值、功能函数执行的重要步骤、脚本执行的重要步骤、出错记录的错误
日志规范,标准定义等:FATAL、ERROR、WARN、INFO
日志不要有过多无效的、没用的,无法定位问题的,需优化更新
info.log:业务关键步骤信息。
error.log:业务发生的错误以及堆栈信息。
sql_info.log:超过10ms的SQL调用。
api_info.log:api调用的关键信息。
rpc_info.log:rpc调用的信息。
日志格式参考:
traceId,日志追踪使用的唯一ID
请求参数
请求客户端IP(rpc日志中记录目标服务端IP端口)
响应参数
处理耗时
6、任何代码都要有 try...catch...,正式环境绝对不要输出错误,PHP的内置函数记得在前面加 @
7、php 换行不要再用 \n,一律用 PHP_EOL
8、类名、函数名用小驼峰写法,变量名用小写加下划线,常量名用大写加下划线
9、接口超时记得设置重试策略,再不行就放进缓存,由人工解决
10、调用第三方接口防范不稳定的风险,可以将不是实时更新的信息保存一份到缓存,获取接口失败时就用缓存的数据,但是数据比较重要的就还是实时报错
11、使用消息中间件,提高使用体验,其他处理丢给后续任务处理