00:00
在你开发之后啊,到后面呢,你们可能会进行项目的优化了,进行优化的时候呢,我们无非是做一些这样的事,想办法让你的代码更加简洁,想办法让你的性能更加好一些,无非就是做这两件事,要么提升你的页面的性能,让你的用户加载你的页面速度更快啊,这个呢我们叫做性能优化,而这一块内容呢,我们在后面再再专门的讲性能优化,那第二点呢,就是无非通过各种利用模块化啊,封装函数,或者是今后学的组件化等的思想,想办法让你代码变得更加简洁,更加少一些,从而呢,让你的用户加载你的资源加载的更少,那这些呢,就是我们写完代码之后可能做的一些优化的工作,当然呢,还有一些其他的,比如说做好SEO啊,让你的代码,让你的结构更加有语化一些,精简你的结构等等,这些呢,可能也会去做的,那么我们在这呢,就想办法让我们代码更加精简一些。啊,咱们呢,定义了这么多方法。
01:02
啊,说实话呢,定义的太多方法呢,不太好啊,对于你一个开发者来说的话呢,你要记的东西实在太多了,要记得太多东西太多了,而且呢,一旦定义的方法更多很多的话呢,他呢间接带来的效果就是里面的重复性的东西实在是太多了。所以说呢,我们通常就是采用就像整一样,我们呢,想一个功能呢,它是不是一个方法,它的功能更多啊,比如说它是可读可写,是不是这个读可得写,那我们呢,这里叫做我们呢,这个上场素材呢,我们就打算做一个方法去把它搞定。啊,这么多,我们是不是定义了两个方法,你压根用不着,这里两个方法只需要一个方法我就会写好了,那今后呢,我上传素材就只要记一个方法就够了啊,记两个方法呢,实在是太费劲了啊,因为呢,你要想啊。你如果去做一个功能,你不可能就这么点方法,你肯定有十个20个甚至更多,那么你每一个东西都做两个方法去写,那么你要记的东西实在是太多,你压根记不住,那你不可能每次开发的时候还去翻文档,这样严重影响你的效率,所以说呢,我们应该尽可能的把一些方法,相似的方法,将它合并成一个方法提供给用户去写啊,这些呢,大家也要会去做,也会去做,当然这些方法呢,一般都是放在后面去优化的时候去做的,去优化自己的代码啊,写完之后,诶,我觉得代码呢,有些地方很优化的,那我就要去做一做它。
02:31
做一做材,那么咱们在这呢,就放这呢,哎,我们就做这个上传素材的,那这个临时素材呢,大家就给大家自己回去的时候写一写啊,咱们就把这个写完,我们呢就专门定一个方法,这个方法呢,就可以去做我这个上传素材的所有东西,他既能上传临时素材,也能上传永久素材,那咱们呢就定一个这样的方法啊。好,前面的我们都写的差不多了,那其实这个方法呢,其实已经。
03:01
不难了。不难了啊,我们呢,来看一看啊,我们要定义这个方法,我们就要想一想它到底要传什么参数。看一下,首先我们应该这个方法,应该以哪个为原本去参考一下比较好。是不是永久素材啊,为什么永久素材呢?因为它功能更复杂,功能更复杂啊,然后呢,我们拿复杂功能先去参考,然后呢,在复杂功能基础上去添加一些更加简单一些功能,这样呢,我们更加更加添加更加修改一点,如果拿个简单的版本去改复杂的功能,那这样就麻烦得多,所以说我们通常是拿一个复杂功能去修改啊,那这个东西呢,无非就是有这三个参数,我这参数三个参数能丢吗?不能丢,是不是丢不了,因为我这个永久素材就必须要这三个参数,其中呢,这参这两个参数呢,是不是可以作为我临时素材的参数去使用啊,诶刚好可以复用,那么除了这三个参数以外,我还需不需要传入别的参数?
04:07
想想我还需不需要传入别的参数?哎,如果需要,我要查什么,如果不需要,那会不会有什么问题?需不需要传入别的参数?好,如果说不需要是不是,那么我们就面临一个这样的问题,我们有临时素材四种类型,永久素材呢?多了一个news和一个pic是不是好,那你怎么区分开来,我上传的这个图片,它是临时素材还是永久素材呢?你能够通过我传的这三个参数判断出来吗?判断不出来呀,因为你临时素材它只保存三天,而永久素材是不是保存为永久的,而且有的地方呢,只能用永久素材,临时素材它用不了啊,比方说就是我们那个man按钮中,我们那个菜单按钮中呢,我们是不是可以去设置那个媒体ID啊啊,只能用永久素材的媒体ID,临时材都用不了。
05:07
所以说我们是不是要有个东西能够判断出来我上传的到底是临时素材还是永久素材,对不对,那我们呢,就定义需要定义第三第四个参数来去判断出来,这个是比方说我们第四个参数呢,叫做is pro,它的意思呢,代表的是什么意思呢?是否是永久素材,是不是我给他个默认值,怎么给默认值。是不是这样写啊,比如说我默认这个素材呢,我用的比较多的是永久素材,那我就把调为处,如果用的比较多的是银式素材呢,我就把它调为false,是不是可以自己调的好,我默认呢,擅传的是扭久素材,然后在这里面呢,我们去写相应的东西啊,我们把永久素材的CTRLC分嘛。CTRLC啊比较长CTRLC,然后呢CTRLB好在这里面呢,我们看一下有哪些地方需要处理的啊,处理的首先呢,我们在这里来看获取是不是都要获取,都得获取啊,第一个配置对象,我们接下来来看啊,第一配置对象我们在这里面呢,永久素材是不是要判断这些类型啊,好回过头来我们看一下临时素材可以判断什么类型。
06:19
他有做类型判断吗?没有,是不是直接往这里面塞个form代塔数据,然后可可读流读取我那个相应的这个文件路径啊,啊这里呢,他把这个文件路径是不是处理了一下,处理一下,然后呢,接下来是不是直接去写入相应的内容好,所以说在我们的临时素材发现呢,他压根不需要处理相应的类型是不是啊,所以说在这里我们可以怎么处理呢。你想我们有个永久素材,有个临时素材,是不是永久素材它是不是一套规则,临时素材它又是另一套规则,因为他们请求地值肯定不一样的,是不是,那么我们可不可以根据这个值来去在这里做一个。
07:05
判断了是不是,我就判断它是否为处,如果为数的话呢,是不是永久素材,哎永久素材,哎这多了个括号啊永诶又多了一个素材,是不是这一部分逻辑啊,诶我就把它TRLX看下,是不是写错了啊。哎,这个括号应该包着,包着是不是好,这是我永久素材组的是CTRLX是不是放在这来,那L是不是临时素材组的是好临时素材呢?它走的是呢。啊,这里会多一个空格啊,临时素材呢,它有所的无非就是把它的复制过来啊。呃,是不是这个起求地址要定义,然后分布塔,然后再加让它起求方式是不是好,把这一部分先放过来看下,是不是这样的啊。啊,把这个收一下翻过来,好,这里面是不是不发送请求啊,只是把请求参数是不是加进去啊,这里面呢,看一下是不是不发的起求,不发的起求是不是把起求参数加进去啊好,这里面呢,是不是待会要定一个分布代塔啊,这分布代塔呢,应该添加到我的。
08:12
Option是不是添加到option,而且这个ul呢也是添加到。Option上是不是写到option上,然后这个是不是没有啊,没有的话呢,是不是跟它是一样的写法,一样的写法,然后呢,这时候呢,就会判断出来啊,这里走的是。诶,他这里每次都会多一个临时素材的逻辑。啊,上面走的是永久素材逻辑是不是。好。素材逻辑。好了,那么我们这里面再来去看一看啊,当我前面呢,经过这一系列的判断,它最终呢,会判断好是不是将这个options给你处理好啊,最终我是不是发送请求的时候,只要将这个options传入就好了,然后呢,记得要等待一下,是不是等待一下,然后呢,最终呢,就将这个值给。
09:12
出去是不是出去就好了。啊,回收回收,诶下面是不是发了啊,那最后不需要写了,就在这里已经发过了,发过了他呢会发送个请求,然后最后呢,将法结果是不是出去啊,就这样做好了,咱们这个事啊,那这里面呢,可能还有一些可以提取的,我们会发现呢,这里大量的出现了这个option等于form,是不是出现了三次呢?这三个是不是很重复的,也就是说除了除了第一个这个news以外,其他东西是不是都得加上这个分布代塔,那么我们也处理一下。默认呢,我就给它加上它,因为呢,实在是重复率太高了,那我就把它处理一下,因为大部分的功能呢,我都得加上带它,我就提前把它给。设定为默认值,是不是设定为默认值,然后呢,其他地方就可去掉了。
10:05
去掉了是不是,哎,你看上节的这么多,然后呢,在这里面是不是用不上塔,那你手动都可以把它调为。就调一个空就可以了,那你不需要你就手动调为空就可以了,那这样的话呢,能够去更好的去服用你的代码啊,复用代码啊,那这样呢,就基本上是差不多了,这个地址呢,就没办法去改,因为呢,他们每一个人的地址都不一样,是不是每一个人的地址不一样,其中呢,有些参数呢也不一样,所以这个东西没办法去提取啊,所以说到这呢,我们就去把这个方法呢,诶这里是不是最终错了少一个。找个括号和这个括号,是不是少个这样的括号啊,找到这呢,咱们就将这个方法分装好了啊,找吧,只要只要你将前面的给搞定了,下面这个呢,就很简单,无非是多定一个行参这行三这里呢,做了多做一判断,是不是多做了一层判断啊,就是这样去处理好的啊,当然了,下面这个永久素材呢,也是类似的,让大家呢,可以回去的时候自己写一写啊,通常情况下呢,我们都是如果要去,你比方说你们公司今后呢,你在公司待的很久的话呢,那么你们肯定公司团队要面临的这这样的事情,就是要去开发一个属于你们自己公司的一些框架,可能要这样做,因为呢,你们公司的业务呢非常单一,然后呢,可能要去开发大量的一些相应的一些同相似的页面啊,相似业务,相似的APP,那么这样的话呢,如果你们不去开发一个自己的属于自己的框架的话呢,对于你们来说,你们今后的开发成本还是一直都是那么大啊,通常情况下呢,好业的公司都。
11:44
都会开发出来自己属于自己公司特定的业务的独有的一个框架,然后呢,今后呢,就使用那个框架去开发这些项目。啊,所以说如果你们要开发这个框架的话呢,对应的你们肯定要分装大量的方法函数以及什么什么东西,那么也是遵循着这些原则,应该是第一个是好使,方便使用,第二个是呢可复用,第三个呢,就是我今年的一个函数的功能更多一些,那么我呢,今后呢,我记忆的API呢就更少一些,记的API更少一些,同时也可以让你的框架的体积呢,也能变得更小,更加精简一些,啊那这个呢,就是我们最终的将这两个方法提取出来,作为一个方法分装形成的这个函数。
12:28
好,咱们来停一下啊。
我来说两句