00:00
好,这样呢,我们这个nameless service呢,咱们就写完了啊,写完以后呢,按正常来讲呢,咱们就开始往下再写,就开始写这个叫team service了,那写这个team service之前呢,咱们呃先呢,对咱们写好的这个name list service呢,进行一个测试,就咱们写成就是写这个项目的时候也应该这样,就是写一点呢,你把已有的这个代码呢,先进行测试一下,以防呢它有问题啊,有问题的话呢,你就及时给它改掉,你要是不测试的话呢,等这个代码都怼到一起整体去跑的时候呢,有时候出个小问题的话呢,这个连你很难找,这是其一,其二的话呢,就是你这个问题,假如你要没有改后边呢,可能影响其他的这个逻辑呢,也会相应的会出问题啊,所以呢,最好呢,把前面的问题都搞定以后,哎,我们再往下去写,这呢,咱们对咱们已经写好的name类service呢进行一个测试,怎么测试呢,那们咱们呢,就专门去建一个包啊,这个包里边呢,咱们做这个测试啊,比如说呢team这呢专门建一个就叫做unit。那前面呢,咱们也讲过这类的单元测试了,这里边咱们去写一个关于叫那name list service啊,一个测试啊,一看那名字呢,就知道来测试谁的好,这个我们在这标识一下啊,这呢是对咱们已经造好的叫name啊,List。
01:21
看service这个类的一个测试,那测试的话呢,主要呢,我们测一下这里边我们提供的相关的这个功能,比如说咱们呢,提供了两个方法,这是私有的,这就不要调了,一个呢叫get all employees,一个呢叫获取指定ID的这个employee啊,那这个方法当中呢,你就顺便呢,把我们这个构造器呢,也进行了一个测试了,因为呢,我们要返回所有的员工,那你要是员工有问题,肯定是构造器里边这个逻辑写的问题了成,那咱们这块呢,就来这儿进行一个测试,首先呢,咱们就来测一下这个,哎,所有的员工是否能够正确的获取到public VO啊,咱们来test一下叫get all employees这样的一个方法,行,在这个单元测试方法里边呢,咱们习惯上是test,后边这个呢,是你某一个功能,咱这呢是一个方法,所以就test的这个方法啊,就能够很清晰的知道你测的是谁,导入一下我们这个g unit这个library。
02:14
成,那首先呢,咱们需要去造一个nameless service的一个对象啊,这个我就要一个service了,诶new一个看这样,那我们在这个,嗯,先导入一下啊,我们在这个造对象的时候呢,咱们就相当于把这里边这个逻辑呢就执行了,那执行的话呢,相应的咱们这个employees呢,这个数组及其元素就就有这个相应的这个数据了啊那有这个数据的话呢,我们直接呢,下边调一下,咱们这叫service.get all employees啊在这个位置CTRL1一下得到咱们所有的employee啊接着呢,我们通过一个循环,哎,然后把这个数据呢都展示一下,行in的一个I等于零,I呢小于。An employees.length哎,佳佳,好,这呢,我们直接做一个催,An employees I。
03:01
成这呢,自动会掉这个兔死证啊,所以我这就不写了,行那执行一下。走,OK。诶出来了,哎,出来以后这时候你可能第一反应呢,是这个愣了一下啊,因为怎么出来这个数据啊,因为咱们现在没有重写这个初次方法,所以现在的话呢,你希望展示出来是咱们那会儿运行人家写好的这个啊,这个PROJECT03这个t view,咱们现在呢,希望呢,它能够显示出来呢,是这样的效果,因为这个数据呢,咱们毕竟都已经装好了,装完以后呢,我们看能不能显示出这个效果,那对应呢,你就需要去重写这个图方法了。那下边呢,咱们在这个测试的过程当中,既然发现呢,诶这时候我们这个数据呢,不是长这个样子,那咱们这时候呢,就把这个to string这块呢,给它搞定一下啊,做次也搞定一下,首先呢,咱们先找到咱们的employee啊,因为呢,毕竟一开始也有员工像马云就是一个普通的employee了,这里边儿我们就需要去。
04:00
啊,这个这是人家写好的这个是吧?啊咱们打开咱自己这个啊employee咱们自己呢,需要去重写一下,这个叫toth string啊那好了,写public,或者你直接这样啊two s out斜杠,哎这个这个重来一下啊哎,Two s out斜杠来选一下这个下啊回车这就可以了,那这时候呢,我们需要去重启,那重启的话呢,我们看到这个普通的员工,像马云这样的,就是把这几个信息呢,给大家展示一下就完了,哎那这呢四个信息就是我们这个employee这个类的这四个属性,四个基本属性,然后呢,相应的每个属性之间呢,我们用一个啊杠T表示一下就行,好这个呢比较简单直接,我们就return一下ID。杠T。嗯,加上内。然后加上它的配置吧。
05:02
哎,再加上它的salary ctrl s搞定,这时候呢,我们把这个employees啊,Employee这个类中的这个to string呢就重启了,那重写完以后呢,我们再看一下,咱这是咱们啊在这测的再跑一下。你看这时候就成这样了,这个能理解是吧?嗯,这时候的话呢,我们所有的员工有可能你是一个成员,设计师或者架构师都显示的是我们都调的是咱们米employee中的这个投资人了,显然呢,也不太合适啊,咱希望呢,就是跟人家这个一样,人家这块的话呢,就更丰富一些了,那就意味着我们需要把这个每一个子类的这个促存是不是都得重写一下。让他们掉的时候,各自调各自的啊,就成这个样子了,好,那咱们看看这个成员,这个成员看看他这个怎么写的,找一个普通成员,那就到了,成员的话呢,就是前面这四个呢,还是一样的。那咱们要想省点事,你直接就调一下负类这个super.two然后呢,接着把后边这几个呢,给它补充一下就完了成,那咱们就来处理一下我们这个programmer啊这呢我们去to s out,斜杠,哎这样那首先哎我们呢去用一下这个负类这个啊叫super.two哎就是相当于我们把这个前面这四个信息呢,就是还借用一下负类中的这个了,现成的,然后在后边呢,这有个杠T,杠T后边一个叫乘员,不妨呢,咱们就把这个呢,先粘一个例子看一下,这样在这就好写了,在这前面这四个完了以后,再接下来来一个杠T,然后直接在这就写上了,叫程序员,然后杠T一下。
06:45
嗯,在后边这有一个叫free是吧,这个呢就是status呗,嗯,就是咱们这个叫,嗯,这个咱们在programmer这个位置是不是有个这个属性啊status,但是这个status你要目前放这还差点意思,他也没写兔是吧。
07:04
他也没写tos针,我们在这个咱们这里边是不是也没写吐针吧,这没写的话呢,导致就有可能一会我们要真正掉,是不是这块显示的也是一个地值值了。对,这个我们小心一点,假设呢,你就现在先这么着一下啊,先这么着一下,然后接下来在后边的话呢,我们这又有这个杠T了,这个时候这个杠T呢,你这块这样看更好一些哈,那这是一个。两个三个,这有三个杠T,诶因为呢,你普通的成员他没有奖金股票,你把这个空着给人也空出来,三个杠T后边是这个设备,一个两个三个,后边呢,加上咱们这个设备啊,设备呢叫1EQUIPMENT啊,这个equipment的话呢,你往这一放,你也得小心这个事儿,凡是咱们这个是一个对象了,这个时候呢,调它的to去默认情况下都是一个地址值。咱们这个设备的话呢,确实也没有,呃,考虑去重写to string,但是呢,咱们是不是写这个叫description了,对应的这个PC也好,这个打印机也好,咱们是不是都已经把这个方法都写好了,所以这时候你就别让他调这个叫哎图了,是不是直接我们调这个叫get description。
08:16
哎,希望呢,咱们呈现的效果不就长这个样子吗?咱们那会儿写这个重写to,这个get description的时候呢,不是也参考这个事儿了吗?好,那这儿呢,是咱们关于这个叫呃成员啊,这个参考一下啥,把它就删掉了成员这样的一个写法,这就搞定了这个staer呢,一会儿咱们统一的再去处理它啊,这个写完以后,咱们接着呢,再处理它的一个词类叫designer。Designer找一个例子,设计师拿它吧,CTRLC过来,那to s alt斜杠啊,这么着好写它,那写它的话呢,这时候看看啊,是不是就会有点小问题。
09:01
首先呢,咱们希望呢,借用一下这个前面已经写好的是吧,想写好的话呢,到这儿用不了了,因为这叫设计师,他的这个直接负类呢叫程序员了,所以说这个位置呢,如果我们这样写啊,Return一下叫super.to这个时候就有问题了。啊,你后边呢,加所谓的叫设计师,这个时候的super是谁呀?诶是我们这个成员了,他这时候是不是已经加了这些信息了,咱们在程序员这块,你修复呢,是员工这个没问题,咱们现在在这个设计师里边是不是也想用的是副类的,副类中的这个啊那怎么整。super.super那就被笑话了,当初学的时候呢,你你要是误写一个这样行,那你现在还出这样问题就太幼稚了是吧,那怎么去调用它的副类的,副类中的那个图呢,还真调不了,那就得想招了,怎么办呢?诶我们可以这样来处理,所以说呢,就是呃,语言的这些语法咱们就讲完了,在后边大家开发中,同样是咱们这个项目三,每个人这我我都讲过了,大家去写可能整体上都是一致的,那如果说我要没讲大家去写,你会发现一个人一个写法啊,一个人的一个处理方式,所以呢,会导致你真正去开发的时候呢,你会发现就是相对来讲哈,咱们这个大家在商务学习老师的这些写法呢,还都是比较规范的啊,那当然当然大家都培训过,相对来讲也会规范一下哈,但有的一些这个这个这个同事呢,可能他就是自己学的,或者去网上找各种各样的代码去看一看,那有的就很不规范,所以你真正去。
10:46
冲的时候你会发现你拿到其他同事业代码,你看它写的那里乱糟糟的是吧,很多时候呢,你就是很简单一个逻辑写的很复杂,来回绕啊,最后呢,找到这个代码你再去改的话呢,就很痛苦啊,所以说大家呢,写代码的时候,就是语言呢,都是这样规定的JA啊,都这样规定的语法,所有人都得遵守,但是具体大家去实施的时候呢,每个人做法都不一样啊,就跟说中午呃,让大家做个演讲是吧,呃,汉语普通话大家都会,但是呢,同样一个主题,每个人讲看讲法都不一样啊,这就看你每个人的这个能力和你驾驭代码的一个能力了啊,这个呢,通过大家不断的去练习,你去呃去熟悉,去掌握更好的一种代码规范,怎么去写啊,这里边的话呢,我可以再去定一个方法,比如我就叫get details。
11:34
嗯,这样的一个方法,在这个方法里边呢,我就把这个事儿呢给它返回啊,CTRLC一下我就返回到这儿了,那这个位置的话呢,你还这样写也行,或者呢,我就直接return调一下我上面写好的叫get details这个方法,哎,这个逻辑呢比较简单,都能看得懂,我这呢处理的是employees啊employee啊,这个处理完以后呢,我回到这个叫programmer,它的一个直接子类这块,这个你写super点这个to string也行,或者呢,我就直接去调这个get details,加个super点也行,不加也没事,反正就他自己一个啊,诶这个时候呢,我们调的就是咱们员工当中的details这个方法啊,然后我再回到这个设计师这块呢,我就不用担心这个问题了,我就直接还去调这个get detail details,这样就避开了他这个直接负类中的那个图呢,哎,此时呢,我们这个details用的呢,就是这四个基本的信息啊,是这样子的,好,那在后边我们就杠T叫。
12:34
设计师啊杠T一下,哎,再加上这个呢,又是这个叫status啊,然后再加号,诶啊加这个RT,嗯,这呢又是一个5000 5000呢是人家的这个叫bonus啊,直接你写上,然后在后边在后边在这块看吧,一个啊这是一个两个啊两个杠梯,哎,再加上他们这个设备啊equipment。
13:08
啊,Equipment呢,咱们是定义在人家program当中的,是个私有的,你到这儿是不是只能get了。Get以后,然后再去点啊,Get一个它的description啊,能行吗?那这个the也一样,这个咱们也是定在人家的这个负类当中啊,所以这个还得get一个status啊,哎,这么着OK吧。能行是吧,这个呢,我们就搞定了,然后再接着呢,你去处理一下它的一个子类,我们把它把这个呢,CTRLC不妨复制一下,找到它的这个子类architect ctrl v拿过来也是呢,调一下咱们这个employee当中的这个,呃,Get details方法还是呢,试图只获取前面最基本的四个信息,这是架构师的一个例子。嗯,Get details获取到的还是这四个基本信息,然后这叫架构式。
14:04
嗯,然后busy,这还是status,然后后边嗯,这个bonus这块也看不到了,嗯,Get一个这个bonus boner完了以后,后边是你的股票啊,这个你得给人补上嗯,杠T,然后在这个位置再加号一下盖,嗯,这个不get也没事,直接呢你就去调一下这个叫stop啊这样嗯,然后后边呢,再加一个杠T。行,这能看懂吧,行,那这样的话呢,我们就把这几个呢,呃,相当于two string就都给它完成了,保存一下,然后咱们再回到咱们的这个测试这块执行一下,OK,嗯,出来了啊出来以后,出来以后的话呢,先看这块啊,这块的话呢,这个往下顺,这块没问题,这没问题,没问题,这块有问题,这块写的是个nor是吧,写的是一个nor,那就相当于这个值呢,负的有问题,咱们是在programmer这块。
15:15
哎,这里边我们这个status没有赋值是吧,那这个不对了,那这个构造器咱们调它还嗯,那就还少一个参数,相当于是是吧,咱们在这儿还得给人家补上一个叫这就相当于我们在这就相当于咱们测试测试出来的问题啊,咱们这个构造器呢,少加一个status。那这个位置你得给人加一个。哎,这个属于我们当时提供构造器的时候的一个问题啊,那这块你要提供好以后,咱们在这个name service中去装配的时候呢,这也就有问题了。啊,这个bonus,这个status也没给人家去提供是吧,这个没提供,诶这个好像就是没提供。
16:03
你看我们这个位置,嗯,看这哈。咱们这个在这个位置的时候,我还真就没有提供这个status,是因为这个位置咱们默认有一个值是吧,那这个默认值咱没有给付哈,就是这个free啊,还是这个BZ啊,它默认是个free,是咱们后边把它加到开发团队的时候才改成是个BZ的,嗯,所以这块呢,构造器这咱们还写的还没错哈。咱们改的话呢,就不不去改这个构造器,嗯,找还是找咱们刚才的这个位置啊,咱们不去改这个构造器。不用改构造器是把这个位置是不是给它赋个值啊,是这样子啊,第二咱们呢,是一个free能理解吧。得清楚啊,你要不自己写的时候那边就迷糊了,就是咱们刚才呢,这是一个now,是因为没有赋值,没有赋值的话呢,咱们不是刚才是想在构造期中负嘛,但是构造期中负你会发现咱们在装配的时候呢,咱们这个位置在我们这个data里边,根本人家也没有去记录说谁是啊谁是busy啊,一开始大家全是free,所以干脆呢,我们就没有必要在构造器当中去给大家添加这样一个status了,就直接呢给所有的人默认呢,都是的。
17:24
啊,当你是在开发团队以后,你再改成一个BZ状态啊,所以这个位置呢,就没有必要在构造器中去体现,每个对象都不一样了,因为大家都一样嘛,那干脆显示复制得了能行是吧?写完以后我们再回到这块测试,行,这个时候测试啊,出现它也是正常的,因为咱们没有重写to啊,那下边呢,就要重写一下这个to string,咱们希望它展示的效果呢,应该是这个光显示一个这个情况就行,那这块我们看看怎么去写,找到咱们的status啊,在这个位置我们去写一下,这叫to string out斜杠,那这个时候呢,就别整太复杂了,我们就直接去return一个什么呢?是不是就是你这个name的属性就行。
18:12
就是你要是一个free,是不是就光显示free啊。B就b VOC vacation啊,所以这块呢,就光一个内啊CTRLS再回过来再测。那这不就搞定了吗?嗯,此时的话呢,你也可以对比一下,这是咱们现在呢,去调用to出来这个效果和哎这个已经写好的这个team view当中的整体,你去看一下,看是不是一致的啊,实际上呢,是一样的了啊,那这样呢,咱们就算是把这个呢,就是这个这个测试好了。啊,这个就测试好了,就测试一下,咱们这个叫get all employees啊。
我来说两句