最近的工作开始涉及一些涉及和规划的事情,包括:接口设计、项目排期规划;其次就是正常的开发工作。
接口设计踩的坑
C端的兼容性是个坑
做接口设计的时候难免会遇到C端的接口。C端的接口对比内部接口、内部系统的接口来说可能需要考虑的点更多。比如说:C端的接口,一定要有一个明确的出入参。
为什么这么说,因为需要考虑client的版本升级和迭代。C端最大的风险点在于一旦发布后的H5/Andorid/iOS 都是不可控的,除非强制升级(强制升级的体验是不太友好的)。强制升级还需要考虑发新版本的成本。所以对于C端设计的接口就需要考虑接口逻辑迭代、版本迭代后,老版本的客户端是否还能用?
比如我就有遇到一个这样的场景,我的模块里面有一个动态配置的按钮,按钮名称和按钮简介是动态下发的。比如,圣诞节的时候叫做神秘圣诞老人;元旦节的叫做一起跨年。。等等这种需求。
所以这里需要一个查询按钮动态配置的接口,这个接口我第一版设计的逻辑就是:不需要传入参,然后接口有返回结果就说明当前正在下发动态按妞,需要生成对应的动态按钮。
这种设计方式的缺陷是,客户端判断需不需要生成菜单的条件是否有返回对应的response数据。这样就可能导致一个问题,每个活动菜单位置显示的活动数据不是一一匹配的(当然,这个也需要根据业务区分析判断,如果业务想要的就是动态也就没问题)。
注意新增和修改接口的命名
这个是一般有经验的架构师都会考虑的问题。因为有可能新增和修改会共用一个页面或者一部分js对象,所以新增和修改的时候属性名一直是有利于前端的开发效率的。
保持批判思维去看问题
本次的设计工作,我是在我领导的基础上进行的二次调整,我领导之前就已经设计了第一稿。开始的时候,领导设计的部分我都默认它是ok的。后面再开发的过程中,工程师反馈的许多问题都是由于领导设计的内容我没有仔细理解和分析导致的。
细心
架构设计细心是最基础的要求。本次也存在不少不够细心的内容,必填描述、小数的精度问题等。
网友评论