删代码?这我在行。

背景介绍

在产品的版本迭代中,一些不再使用的功能需要定期删除。包括c端(代码侧),平台(用来配置功能相关配置项),后端(下发配置项)

哪些能删?

所有版本都不再用的功能。注意,是所有c端线上版本的代码里不在接收配置项的功能可以删除。而不是业务没有在使用的功能。原因很简单,后端不下发这些配置,我前端就会报错。

谁来删?

c端,平台端,后端。所以一个功能的删除,涉及的是至少是这三个开发同学。

怎么删?

拉会讨论方案。
会前准备:

  1. 产品整理出业务方不想再使用,想要删除的功能列表。
  2. c端同学根据列表在所有版本的代码里搜索相关配置项是否在使用。(至关重要)

会上讨论

  1. 所有版本代码都没在使用的配置项: 可以确认删除,三端都要删除,c端没在用就不说了,平台端删除相关配置,后端不再下方配置。
  2. 有老版本代码在使用的配置项:首先后端接口一定不能删,因为接口影响新老版本。
  3. 产品想删怎么办,等老版本全部过渡到新版本后就可以删除了。

为什么不好删

因为前端代码完全依赖接口下发的字段,一般接收配置的写法都是:

1
2
3
//const config = res.data
//if(config.isOpen){
//}

此时如果接口不在下发该配置,就会出现访问undefine的报错。

三思而后行

就算是一个删除功能的小需求,也要深思熟虑。不同平台,新老版本都要考虑到。不然一个不小心可就是线上事故了。