题图来自于NextDay
在设计外部API和对接第三方API的时候,有个原则很重要,不要相信对方接口会100%可靠,即,所有进来的数据都需要做有效性校验和异常判断,反之亦然,作为服务提供方时,也需要处理好发出的数据。
作为一个接口,输入输出是暴露出去的,那么就必须要严格地对输入数据进行标准化处理,以便符合接口内部的处理逻辑,这样输出的数据才有保障。
这样,即便对方丢过来的数据格式出现问题,内部逻辑也不会受到干扰,在输入层就把请求给挡了回去。
各个系统各自做好有效性校验是必不可少的,都需要保证自己的输入输出。
双方其实是做了同样的事情,输出方在发送之前判断格式是否合法,输入方在接受到之后同样判断格式是否合法。
抛开技术不说,会不会有点浪费?无视对方的努力,原样自己照做一遍。
想起去年爆出高档酒店床单事件的时候,某宝上的隔脏床单/睡袋卖得可红火,菜头叔当时写了一篇文,大致意思是说民众这样的举动造成了一种资源浪费。
思路是这样的,酒店投入资源(钱、人力)去做客房保洁,而投入的资源看上去像是做了无用功,人们自带睡袋、拖鞋、衣架,一整套的出行装备,明明是布置齐全的居室,却等同于毛胚的效果。那么客房保洁等一系列的服务相当于直接被抹杀了,因为服务的成果没有被最终用户感受到。
导致这种现象的原因在于,住客对于酒店服务的不信任。尽管酒店投入资源去做服务,得不到信任,服务其实没有做到有效的交付。
至于「资源浪费」,说是「查缺补漏」更合适,住客至少还是选择住进来,而不是完全放弃了入住这个选项,说明酒店的其他服务还是可以正常运转的,而只不过在清洁服务上,住客更愿意自己加个保险,住得更安心。而这一举动,也会促使酒店对清洁工作更严格,以达到住客的要求。所以,谈不上资源浪费,最多是资源的调整或者再分配。
在人与人的相处过程中,「不信任」带来的结果是选择不信任的那一方往往需要付出更多的心血,以便自己可以掌控局面,万无一失。其实挺累的,「不信任」意味着很多事情都不可信,事必躬亲。而如果,对方没有想象的那么糟,确实就有点「资源浪费」的意思,毕竟原本需要两个人分工合作的事情,如今全落在了一个人身上。
「信任」与否是不是会造成「资源浪费」,一方面要看能力(内功),如果不被信任的那方其实有能力做好,那多少会有点浪费的意思。而另一方面是要看你想从中得到什么,如果你想得到的,是会对对方产生威胁的,比如双方是竞争关系,对方手上有你想得到的客户,那么不管做什么,双方都很难建立真正的信任,也不会有有真正意义上的资源共享,更普遍的情况是各自用功,可能最终两家做出来的东西差不多,而原本可以联合起来做一个更强大的。
去年处于风口浪尖的「区块链」,似乎稍微沉寂了些,毕竟这样一个看上去高大上的技术要真正落地还是很难,它的核心是要去中心化,通过联盟来解决互信问题。
然而,在很多封闭的行业,原本就没有中心,各自为阵,防不胜防,又怎会结成联盟,大量的样本信息只在企业内部流通,而拿出来进行分析、训练、统计,对整个行业都会有促进作用,这才是对资源最大的浪费。
不信任,确实会造成一定程度的资源浪费,更重要还是练好内功,用实力去证明你是可信的,以及,即便对方不可信,也不会对你产生多大的伤害。