前不久在开发的过程中发现一个问题,虽然各种代码看上去很严格,很规范,但总感觉实质上各个模块还是不统一,就在我开发到服务器列表页面的时候,不小心踩到了地雷,剖析下:这是两个服务器列表接口,返回数组格式,而我需要对两个数组的值进行部分排重组装,很快代码就写完了,测试完全OK,当然那天很轻松得下班了,当第二天到公司的时候,同事跟我说我那部分代码出错了,必须要先定义一个空数组,于是我翻开昨天的代码看了一遍,把所有值都打出来看还是没问题,当我换了一个ID我终于把地雷扫出来了:接口有值的时候返回数组,没值的返回 0 -。-,写到这各位应该明白我的意思了吧,接口返回值格式要固定,否则会有地雷哦。
下面是工作中遇到的一些问题,也顺便谈一谈我对项目中模块接口化开发的建议,欢迎大神指导。
前不久看项目代码,无意中看到了很长的一段 if else 如图:
然后就尝试对其进行修改,但我发现没有地方可以入手了,因为Model层没人能确定有多少地方在取用这个接口,或者需要很长时间才能查到都有哪些地方在用,这将是一个一点好处都没有的活,所以这时候对接口式开发有了一个新的体验。
当我们写接口的时候,也许有很多表或者类,比如有个字段'type' 有很多中形式通过这个字段我们查找到不同的值,那当控制器传至过来的时候就会是很多不同的字符串来判断业务逻辑层的条件然后返回所得值,这么写当然没错,但是我们想一下,如果有很多类似的接口呢?如果controller层(如上图)有很多类似的接口这需要写多少个if else 呢,
换种方式,如果我们吧这些参数改成一个数组会如何?看下图。
上图我们吧所有的if都清空了,当然这肯定是不合理的,因为我没有判断最后一个else,当然这并不是什么难事,所以就揭过了,那我们在就只剩下接口model层面的问题了,我想这很简单,举个例子:
接口:
上图可以看出,如果我们传至都采用数组格式的话,那在C层的代码就会被清除很多,当然,手动定义数组确实是很费时间的事情而且要把这个数组定义成符合自己模块的数组,这对C层的开发者来说是增加了开发成本,但对于接口化项目模式来说,这样应该很不错的,当然大神如果有别的看法请评论。
这一篇就是浅谈一下工作中遇到的,然后有这么个想法就剖析一下,您还有什么好的开发模式请分享给我,感谢大神。
共同学习,写下你的评论
评论加载中...
作者其他优质文章