概论:
本次主要职能:
1. 后台跨模块联调职能:
a. 单向联调,登录入口跟公共模块提供支付宝接口联调
b. 双向联调,业务线跟评论线接口联调
2. 开发职能:
a. 授权模块完整授权流程
b. 个人中心模块开发
c. 跟评论模块相关的所有业务接口及MVC接口
主要经验点:
1. 开发习惯经验点:
a. 金融云开发环境下,通过日志迅速定位问题。本次开发跟以往开发的不同之处在于多了一套金融云的部署环境,此环境下 Service 层并不能用 debug 模式调试错误,所以日志的完整性和精确性成为快速定位问题的关键。从这一点来看,日志代码的品质已然已成为不亚于注释代码重要性的重要一环。
b. 严重依赖外部的开发环境下,需要全面模拟外部数据。本次涉及的开发点多数并不属于本地联调类型,在模拟数据之外主要依赖外部数据传入,针对此类型的开发模式,外部接口属于不可控因素,我们唯一可控的是自己的代码,那么这次的一大重要经验点就是开发的时候,针对外部接口尽可能模拟出所有的数据传入可能,包括:异常,空值,值异常,值不全等;
2. 工具使用经验点:
a. sofa 使用经验。本次是第一次项目中使用 sofa 环境,最头疼的是 sofa 调用不通,总结遇到过的调用不通的各种情况:
1. 注意代理软件的使用;
2. 多项目同时启动的情况下,注意端口是否会被占用;
3. 本地开发的情况下,注意模式设置为 TEST ;
4. 两个项目启动可能会有延时,注意全部启动完毕之后再调用;
5. sofa配置文件命名的规范性等等;
3. 团队配合经验点:
a. 如果存在团队伙伴依赖自己接口的情况,那么需要在第一时间定义好自己的接口,包括入参跟出参,然后模拟一份数据在里面,以免耽误别人的开发进程;
b. 如果存在需要调用团队伙伴的接口情况,那么也要提前沟通,约定何时提供模拟数据的接口跟完整的接口;
c. 如果自己时间允许的话,最好提供一份接口文档,可以明晰展示接口详情,并且节省交互成本;
附一:下次项目改进点:
1. 在测试类之外,可以写一套简单的测试 MVC ,可以快速获取接口访问结果;
2. 功能点在开发之初仔细考虑流程逻辑跟日志点;
附二:其他问题:
1. 环境搭建;工欲善其事必先利其器,本次开发过程中受到环境问题的困扰;
附三:坑点记录:
1. 跨域
2. 分布式 session
3. session 重复写入
4. 白名单处理