这里是Z哥的个人公众号
每周五11:45 按时送达
当然了,也会时不时加个餐~
我的第「163」篇原创敬上
大家好,我是Z哥。
应该有不少程序员受过这样的困扰,特别是做后端的。项目一直在持续不断的迭代,但是呢老版本的代码还不能直接删掉,因为不一定所有的调用端都能在同一时间点完成升级。
你是怎么处理这种情况的呢?
方法上增加参数?方法实现里增加if else?
论难度的话,这个问题是不难,肯定每个人都有办法解决。但是解决的是否优雅?是否会给后续带来更大的成本?有这考虑的人可能就不多了。
我看到过一些项目里做兼容的方法是真的粗暴,直接怼if else。
比如,原本创建一笔交易的时候,我们需要的数据是用户的姓名、收货地址、邮编。现在迭代的一个新版本需要增加手机号信息,并且不需要邮编了。
粗暴的写法怎么写呢?
if(postData != null ){
if(postData.mobile != null){
//新版本的处理方式
}
else{
//旧