编程习惯

一、接口php

接口路由和参数格式:sql

路由以    https://xx.xxx.com/xxx/xx/is-bind-card 形式对外,后面的形式统一以 - 链接字符,参数以  access_token 形式对外,小写加下划线
数据库

二、代码格式json

每进去一个公司在编写代码前,都必需要询问公司的代码格式是怎样的,路由形式、参数格式、变量格式、代码风格等,保持一致美观。。。如无,则按照上面的形式。。。api

三、返回接口格式:数组

借鉴下大公司代码的返回格式,尽可能json,一个值的状况也用 object 形式缓存

四、检查写的每一个接口的执行时间,尽可能优化,减小IO、数据库链接、减小内存消耗等异步

五、日志函数

任何接口、重要位置都要留下执行日志:优化

任何接口调用的参数和返回值、功能函数执行的重要步骤、脚本执行的重要步骤、出错记录的错误

日志规范,标准定义等:FATAL、ERROR、WARN、INFO

日志不要有过多无效的、没用的,没法定位问题的,需优化更新

info.log:业务关键步骤信息。

error.log:业务发生的错误以及堆栈信息。

sql_info.log:超过10ms的SQL调用。

api_info.log:api调用的关键信息。

rpc_info.log:rpc调用的信息。

日志格式参考:

traceId,日志追踪使用的惟一ID

UID

请求参数

请求客户端IP(rpc日志中记录目标服务端IP端口)

响应参数

处理耗时

日志的参数必定要带有可以标识用户的惟一ID,uid、phone或者其余均可以,不要用会失效或变化的值,如:token

六、任何代码都要有 try...catch...,正式环境绝对不要输出错误,PHP的内置函数记得在前面加 @

七、php 换行不要再用 \n,一概用 PHP_EOL

八、类名、函数名用小驼峰写法,变量名用小写加下划线(go是小驼峰),常量名用大写加下划线(go无下划线)

九、接口超时记得设置重试策略,重试再报错就放进缓存,缓存必定要容易辨识和使用,由脚本或人工解决

十、调用第三方接口防范不稳定的风险,能够将不是实时更新的信息保存一份到缓存,获取接口失败时就用缓存的数据,可是数据比较重要的就仍是实时报错

十一、使用消息中间件,提升使用体验,其余处理丢给后续任务处理,即异步处理

十二、接口的幂等性很重要,特别只要是更新或插入操做都应当是幂等性

1三、能同步的尽可能同步,能够异步的分开异步

1四、避免多个if-else:

  一、if 直接 return

  二、肯定值变成数组或map,取值返回

相关文章
相关标签/搜索