代码开发原则

总结工作中代码开发的重要原则,提高工作效率,不定时更新。。

项目周期管理之--RPC接口兼容

前提:应用A依赖基础服务B的RPC接口。

场景1:服务B要进行迭代,那么项目B的RPC接口要保证和以前版本的兼容,如果不是如此的话,服务B的迭代一上线,将导致应用A部分RPC接口调不通!

场景2:应用A、服务B都在迭代中,但是应用A的项目进度在服务B之前,此时服务B新的PRC接口需要兼容原有旧的定义,如果不是如此,那么将导致应用A对应的修改,而后应用A的项目周期将不得不与服务B保持同步!

如何保证服务B的RPC接口兼容:可以新增接口,不可以修改接口,不可删除接口;需要进行序列化的实体类可以新增字段,不可以修改字段,不可以删除字段。需要存在一定的灰度期:灰度期内新旧RPC接口定义共存,可以把旧的PRC接口定义标注上@Deprecated,待其他依赖的项目按自己的节奏改完之后,服务B才可以彻底删除@Deprecated接口。

按模块的方式写代码:

简而言之,就是“玩积木”不要“玩泥巴”。

很多人写的代码就是完全是面向过程的,你要A数据,那我就临时组装一套A数据,你要B数据,那我再临时组装一套B数据,然后这样一直写下去。。有一天因为需求变更,某个字段需要进行修改,或者某个算法逻辑需要修改,完犊子了,整个项目导出找:是否还有使用了这个算法逻辑的地方,只要有一个地方没找到就是BUG。。。

痛苦不?那为什么还有很多人的get set是写在Service里面的?气的老夫我吐一口老血。。。。把对象之间的转换封装到Converter里面进行逻辑复用不香么

就是Java三大特性之一的:封装 啊。封装才能有逻辑复用,才能有一处修改、处处变更的效果。在写代码的时候,只要发现逻辑存在复用的可能性就要封装成“一块积木”,不要总是玩泥巴,拖泥带水,到处都是,剪不断,理还乱,项目要是这样写下去,迟早会让你玩得:无法维护了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值