这里的请求有点冗余的感觉

来源:8-8 喜欢还是不喜欢

木_人

2021-10-10

老师好像是对request函数进行了二次封装,这是我的理解:第一次封装是为了将基地址和请求头,以及对成功返回和错误的封装,第二次封装是为了按功能将其封装在了对应的模块中。然后老师又把一些基地址和appKey放在了config.js中(这里直接放在第一次封装里可否)。但是一开始是直接调用wx.requset来直接发起请求,而封装后是得经过几层封装后再调用wx.requset来发起请求。想问下老师,在大型项目中一般都是类似于老师视频中的写法吗,我的疑问是这样做是在牺牲了某些性能的基础上去提高代码的可维护性吗,还是说这样对于性能方面也没多大的影响。

写回答

1回答

慕无忌0559897

2021-10-12

实在是忍不住回答这个问题,因为我现在的项目中有太多你这种想法的代码存在,太难改了。

老师是一个很有代码洁癖的人,代码分门别类各个模块做好分内的事,这个很值得我们学习。 appKey放到config.js中,这个在其他语言框架中是一个很正常的操作,(如apikey ,地图key,数据库配置信息)将配置项单独放到config文件中,方便修改。 

在大型项目中,第一次封装是供整个项目使用,二次封装是供给各个模块使用,如果不按照模块单独抽出来封装,将请求放到js中,那js文件的代码将会非常庞大,阅读性极差(我的项目中就有这样的代码,每次改起来都十分郁闷)。 总结一下就是这种封装习惯,一旦出了问题或者迭代维护时,能快速定位到代码,更重要的是别人也能快速定位到对应代码。想想七月老师之前提到 什么好的代码,不是多牛逼的代码,而是易懂的 简洁的。性能方便,就多个继承,一个类才占几个字节? 然后就是虽然没有明显的MVC、MVVM结构,但实际中我们尽量往这个方向靠拢.

2
1
木_人
嗯嗯,谢谢您的答复了,受教啦,但还有一个疑问,这么做可维护性和可扩展性是提高了,但是这样在性能方面有没有比较大的影响,还是这种影响对于整个项目来说不算影响
2021-10-12
共1条回复

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程