先讲一个真实故事,某公司的开发包,发给客户,客户拿到开发包上服务器进行软件工程编译,哗哗的满屏幕的警告,编译报错,搞了几个小时,发现开发包中的接口变化了,有些函数命名变化了,有的是参数发生了变化,有的是结构体发生了变化,引起客户的不满,“你们公司的接口不能老改呀,每次我都要折腾一番,上层的代码都需要跟着改,还要再重新测试”,技术人员很无奈地说“我们研发发现些问题,还有增加了些新功能,所以原有的接口修改了一下”。客户说“你看别人家的接口,就没有变过,升级直接就能用,没有这么麻烦,要不适配接口你帮写下代码“,技术人员说”你们都熟悉了,应该很快,我也改过几次了,这次改的不多“,客户非常无奈。技术人员一再地说好话。
从上面的故事可以理解到接口是交互的界面,不仅仅是个人,甚至是团队,修改接口会给对方造成额外的工作量,这只是其中的一个影响。
一、接口变化的影响
接口的变化会在版本管理中形成多个版本,增加维护工作量,有的客户产品不会切换版本,会保留早期的版本,这样同时使用的版本数量就会增加。不光是自身增加工作量,客户也一样增加,管理成本上升。
接口的变化同样影响文档资料的修改,相应的设计文档需要对应更新,使用说明的更新,文档需要重新归档,都需要花时间精力去修改。接口的修改,开发代码人肯定是要改程序的