美文网首页程序员程序员的日常
开发中要尽量避免联合接口0506

开发中要尽量避免联合接口0506

作者: 红尾黄花鱼 | 来源:发表于2016-05-06 14:38 被阅读72次

这里的联合接口指的是,用两个或者多个简单接口联合使用就很容易做的事情,非要定义成一个接口来一次做完。这里先写两个例子。

例子1,有两个接口,exist判断一个文件是否存在,delete删除一个文件。开发人员希望先判断一个文件是否存在,如果存在就删掉,可以用下面的代码来做

if (exist(f)==true){
delete(f);
}

此时团队当中可能有人提出新增一个联合接口,比如说if_exist_then_delete。

例子2,有一个接口,replace将字符串中部分内容进行替换。开发人员希望连续替换,先把aa替换成bb,再把99替换成00,可以用下面的代码来做

replace(str,"aa","bb");
replace(str,"99","00");

此时团队当中可能有人提出新增一个联合接口,比如说replace_and_replace。

单个员工自己开发的模块当中,将常见的代码组合,合并成一个内部使用的函数,避免某个代码片段重复出现,提高代码整洁度,这是非常正常的事情,但是如果再两个模块之间的接口处也出现这种联合接口,那就是重要的质量问题,需要及时制止,一旦发现需要立即改正。

含义明确,简单直接的接口,从某些场景看可能稍微差点意思,但是它更容易应对大多数场景。好的接口设计应该是一组工具,单个看,每个都很简单,组合起来使用,又能做很多事情,可以支持很多场景。比如说电工手里面的工具箱,各种型号的扳手,螺丝,锤子,锯片。

联合接口本质上就是把复杂的使用接口的逻辑放在了接口定义中,随着时间推移,这样的接口既不好理解,也不好维护。一旦出现当时没有想到的场景,引发了故障,接口的实现者和使用者就会大大扯皮,互相指责对方对接口的理解有误。

从项目管理的角度上来讲,复杂的组合接口,并不是接口的实现者者闲着无聊,自作自受,更多是接口的使用者,出于自己少写代码,强势的逼迫出来的。这种工作风气也要制止。

提出新加联合接口的员工的理由一般不会是直白的说自己想少些几行代码,更多的是以效率为由,新接口可以减少调用次数,可以方便对方优化效率等等。效率优化是一个非常大的领域,但是不到万不得已,没有必要采用联合接口的方式来提高效率。

相关文章

  • 开发中要尽量避免联合接口0506

    这里的联合接口指的是,用两个或者多个简单接口联合使用就很容易做的事情,非要定义成一个接口来一次做完。这里先写两个例...

  • 编写内聚的代码【文摘】

    在程序开发过程中,我们应该让一个类的功能尽量集中,让组件尽量小。 要避免创建很大的类或者组件,也不要创建无所不包的...

  • Laravel异常处理扩展

    在APP开发的时候,经常会遇到因为服务端报错而接口挂掉的情况.作为开发者要避免出现这样情况.除了严格对接口的输入输...

  • SourceTree使用教程--冲突解决

    虽然在团队协作开发中强调尽量避免操作同一文件,以避免冲突,但是在实际开发中还是会遇到冲突,所以掌握解决冲突的方法必...

  • 2019-03-03周讨论话题

    Q1.软件需求规格说明书该如何写?如何才能尽量避免漏掉信息? A:需求文档的撰写,以开发能看懂为主要。 而接口文档...

  • 服务端指南 | 良好的 API 设计指南

    版本号 在 RESTful API 中,API 接口应该尽量兼容之前的版本。但是,在实际业务开发场景中,可能随着业...

  • ImageNamed与imageWithContentsOfFi

    较大的资源文件应该尽量避免使用这个接口。 直接读取文件路径[UIImage imageWithContentsOf...

  • api接口安全方案

    app接口安全方案: https代替http尽量避免在网络传输过程中的数据泄露 主要包括受限资源的授权:当前系统的...

  • iOS开发之离屏渲染

      离屏渲染可谓是iOS开发中老生常谈的问题了,不管是开发中尽量避免也好,还是面试中这是最高频的面试题目也好。大多...

  • 【创建型模式一】简单工厂(Simple Factory)

    1 场景问题# 大家都知道,在Java应用开发中,要“面向接口编程”。那么什么是接口?接口有什么作用?接口如何使用...

网友评论

    本文标题:开发中要尽量避免联合接口0506

    本文链接:https://www.haomeiwen.com/subject/qyrjrttx.html