# 开发完接口之后: **入参校验**:长度校验、判空、逻辑校验 **分页处理**:是否实现分页功能 **逻辑删除**:避免物理删除,使用逻辑删除 **查询加缓存**:提高查询效率,减少数据库压力 **逻辑漏洞**:检查逻辑是否存在漏洞 **重点接口加验签**:防止流量劫持和数据篡改 **异常情况提示语**:清晰明确的异常提示信息 **外部接口错误处理**:是否需要重试还是直接返回错误,对方是否有幂等性 **接口访问量**:评估接口的访问量 **中间件压力**:考虑中间件的负载能力 **时间复杂度**:优化时间复杂度,例如map的查找操作为O(1) **代码细化**:每个操作步骤细化明确,思考每个方法是否可以控制在10行以内,抽取通用代码便于维护 **Redis数据结构选择**:合理选择Redis数据结构 **设计模式**:是否考虑设计模式 **外部接口调用日志**:记录入参、返回值,尤其是不满足预期和报错的时候 **国际通用返回值**:`code`, `msg`, `data`, `extMap`, `requestId` **@Value默认值**:`@Value = "$(aaa:defaultValue)"`,带一个默认值,增强健壮性 **参数配置文件化**:所有参数放入配置文件,便于将来动态刷新 **临界值测试**:调用方获取的永远是`baseResponse`,不能把Java异常返回出去,业务代码明确,见名知意 **日志记录**:多打日志,入口、出口,尤其是调用第三方接口时,记录入参、出参 **全局意识**:在项目开发中,即使自己只是整个流程的一部分,也要有全局意识,替对方着想,这样开发起来更加顺畅