请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答 回答被采纳积分+3

1回答

慕无忌0559897 2021-10-12 10:59:25

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

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

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

2 回复 有任何疑惑可以回复我~
  • 提问者 木_人 #1
    嗯嗯,谢谢您的答复了,受教啦,但还有一个疑问,这么做可维护性和可扩展性是提高了,但是这样在性能方面有没有比较大的影响,还是这种影响对于整个项目来说不算影响
    回复 有任何疑惑可以回复我~ 2021-10-12 20:57:35
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号