00:00
接下来继续完成评价相关的功能。首先,创建。啊,评价表的一个模型。然后在创建模型的同时生成。啊,一个表的迁移。还是在虚拟机里面啊,我们的项目目录下PP。Make。Model加个杠M啊,同时生成表签移。创建模型。少个名字啊。曼。哎,我们创建一个command的一个呃表的一个模型,同时生成这个表的一个迁移。先来看一看。在这个APP。Models里面就有了一个。
01:00
评论的一个。啊,表的一个模型。然后对应的还给我们在database里面生成了一个。评论表的一个迁移是不是。好,接下来去完成我们评论表的一个表字段,首先这个ID啊,还有这个时间戳,我们就留着。啊,接着添加一个int类型。User ID哪个用户评论的?什么的用户啊,接着我们复制几个啊。啊,还是int类型有一个。固杠ID。评论的商品,哎,就是它这个。评论所属的一个商品啊,属于哪个商品的一个评论。下来继续添加字段。
02:00
添加一个rapt啊,我们。评论的一个级别啊,这个我们写好注释,比如说是。啊,一是好评,二是中评,三是差评。啊,那给个默认值default。默认是一好评啊。接下来类型改一改啊,类型的话使用。啊,就可以。啊,继续再来一个content字段,我们评价的内容内容的话。嗯。我们用train吧啊,不用太就不让他评价太长的一个内容。啊,大概就一二百个字可以啊。评价的内容。接着。啊,还有什么呢。
03:01
还有一个我们的。商家的一个回复啊,有的时候你评价了,商家会给你回复啊,回复呢,我们也使用string类型。Reply。这个是商家的回复。想一想,我们还少不少字段啊,再来一个字段吧。Table。我们用阶层类型啊,这个我们存什么字段呢?存一个。就是说评价的时候不是可以添加一些评价的图嘛,是不是,而且是多图,所以我们用杰森存一个多图的一个数组。啊,这个应该是可以为空啊,No able,因为你可以不添加图也可以啊。评论图啊。
04:00
多个评论图。这样的话,我们的评论表基本上就完成了,然后执行迁移,为我们生成这个评论表。啊。再去创建一个评论相关的扩容器。用来处理我们评论相关的业务逻辑。Control创建在adin下面啊。卡吧。创建一个资源控制器吧,刚刚API。打错了啊。这里少个L。啊,这里少个L,我把它补上。啊,这样就创建了一个资源的一个控制器。接下来看一看啊。
05:01
这里面是不是多了一个啊,它的一个资源的控制线,我们常用的方法在这啊。接下来。把备注先都改一改,看我们用到哪些方法,比如说我们会用到这个列表是不是评价啊。列表。添加评价啊,这个就不需要了,添加评价一般是用户购买完商品啊,他对这个商品进行评价是在前台,就是用户使用端去产生的这个评价,而不是说我们后台去。嗯,添加的这个评价。详情啊,这个是需要的。评价的详情。啊详情呢,我们啊列表只能做一些简单的一个展示,比如说评价的时间呀,评价的一个人对吧,评价的商品是什么,评价内容是什么,对不对,那有时候比如评价内容过长,或者评价带了很多图,这时候我们要进到详情里面去看一个评价的详情。
06:07
啊,那评价的更新也不需要。一般在做商城的时候,不管是用户也好。啊,用户端有的是有这个更新的啊,但我们后台是不去更新这个评价的。删除评价。嗯。这个呢?怎么说呢,你看你要不要留吧,因为有时候你想去删除掉一些恶意评价对吧。对不对,但是这样的话就可能会对这个商品有失公平,对吧,比如明明是你的商品的不好。啊,人家给你就说评差评了,你把这差评都删了,只留下好评,这样也是。嗯,不太合适的啊,所以。啊,我们这个评价删除评价也不要啊。我们就尽可能的去。就是去写一些真实的一些内容。啊,还有一个什么需要呢,需要一个。
07:04
啊,这个回复是不是。商家回复。评价相关的一些功能比较少啊。接着去定一下相关的一个路由。找到。Root文件文件啊。写下这个注释。评价管理。API啊,直接快点吧,直接复制吧。啊,我们就不使用资源路由了,因为这个方法也比较少,就一个index一个修啊还有一个我们的回复。评价列表。
08:01
列表使用get方式啊。Com。Comments。这里面是。就不要这个参数了啊。把这个换一换啊,控制器换一换。里面的呃,Index方法。接着来。评价详情。使用溴方法。详情的话啊,我们这里需要加一个comment。加一个路由参数,让它自动注入啊,自动注入我们的评价的一个模。这个详情。接着写。
09:07
回复评价。嗯,还是这样啊,我们加个replay,因为回复评价我们是针对某一条评价去回复啊,所以也这么的去定义路径,直接让我们要回复的这个评价给啊注入进来啊,用这个路由的参数注入进来。好方法改一改啊。这样我们的三个路由就定义完了,接着去可以去写我们的功能了。因为我们没有添加评价的一个。啊,一个功能,所以我们手动去加一些数据。打开数据库啊,刷新一下就会出来我们的评论表。打开啊,接着手动去加一些数据啊。主要用到这个商品的这个ID。
10:05
看一个商品啊,我们有什么商品ID。就用第一个吧,好吧。在这加一条数据啊,ID用户。也是一啊,我们就用第一个用户。图片。啊,这个就不写了。啊,时间。提交。
11:02
评论不能是空。就是回复不能是空。哦,这个我们忘了加了啊这个。啊,就是说啊,商家的回复也可以没有啊,所以我们也让他允许为空。那接下来回滚一下迁移,我们重新重新迁移一下啊。MIG冒号。Back回滚一下迁移。嗯,接着重新执行下迁移。来找到这个表,我们再来提交一下啊。啊,天亮成了。刚才回滚迁移呢,就是因为我重新去修改了一下这个字段,让它允许为空。
12:09
啊,这样我们这这个测试数据就有了啊。好吧。如果一条不够,我们再来两条啊,直接。点加号啊。复制完这个,然后粘贴过来。把该改的改一改就可以了。二还是一用户嘛,然后对第二个商品的一个评价。你把等级改成二。然后提交。啊,两条评论够我们写这个表用了啊。嗯。接着写我们的评论列表,还是一样,我们写功能都是先从最简单的去写起,对吧。哪有什么呢?先写一个返回所有的评论的一个。啊,功能。
13:02
好,返回所有的使用。评论的这个模型哦啊,然后这个这个所有的评论啊,这样我们一个列表就写完了是吧。使用这个来测试一下。先把这些都关掉。啊,登录一下先生成talking好久没有登录了,Talking过期了。哎,可以关掉了,然后呃,测试一下我们评论的一个列表,Get请求api.test API前缀,然后是的命前缀。评论啊。啊,加上我们的认证。把这个换掉吧。评论的列表有了是吧?这是最基本的,我们返回了所有的一个评论,然后不断的去把它优化啊,比如说怎么优化呢。
14:06
嗯。啊,首先。改一下这个控制器,因为我们继承了这个base c了之后我们就可以使用。这个订购API的。啊,想生溶剂你就可以这样去使用了。返回一个。集合。啊,开集合门。好,但是你如果直接这么返回的话,它会报错对吧,看一下啊。是不是也是我们在使用这个响应生成器的时候?我们需要配合这个transform来使用,对不对?所以现在我们去创建评论的transform。啊,就是响应的一个数据的一个格式化。哎,把这些折叠一下。去APP里面找到transform。啊,随便你复制一个改改也行啊,复制一个改一下吧。
15:02
Comment transform。接着呢,把这个分类名字改改啊。要引入的模型改一改。这个就不要了啊。然后这个内容有点少,去优色这里去复制一下。刚才应该直接复制user的。ID,他的一个ID。先把变量都换掉啊,这个时间不用管,只要我们处理这个其他的一个字段啊,比如。评价的一个内容是不是。好。长的对吧。还比如有评价的一个。啊,级别就是好评和中评差评。来。
16:01
接着看看表,还有什么字段啊,就是返回我们需要的字段,不需要的其实就不用返回也行了。内容还有商家的一个回复。把这个回复也给返回了吧。复制一个。啊,这两个ID也给返回吧。嗯。直接在这写吧,快写。这样啊,我们的传方嘛,也写好了。看到了吗?那接着在这个列表里面啊,使用我们的这个评论的。就可以使用响应生成器了,哎。
17:01
看一下。是不是可以给我们返回。对不对,两条数据嘛,包括在data里面。这个格式是我们。格式化之后。显示的一个数据。接下来继续优化我们的列表。首先加上分页啊。好,那这里使用分页。再看一下。哎,有分页相关的信息了,对吧。啊,因为为了测试,我这里把它写成一了,当你数据多的话,可以正常的显示十条二十两。当然你也可以通过啊,定一个参数,让前台去传这个分页的一个个数。接下来干什么?开始写搜索。
18:03
啊,搜索我们需要用到啊,获取这个请求参数,所以把这个先写上,想一想我们评论都需要。啊,做什么搜索。对吧,首先是用户的不用做啊,应该是有一个。等级的一个速度,比如搜索所有的差评啊,搜索所有的中评。啊,还有所有的好评是不是,所以。哎,我们把这个啊。获取搜索条件,把这个写上。Request。Carry里面的你用啊,也可以推荐使用input。啊,我们都使用啊,使用query吧。好,这是我们的这个。这个评级啊,那。同样的,因为它有可能是有搜索条件,有可能是没有搜索条件。啊,所以这里我使用什么使用问啊。
19:07
第一个啊是我们的条件,当我们的搜索条件存在的时候,我就进行查询,里面是一个查询构造期。然后use,使用外部的这个变量。来,接着写。我们。代码。就是当你这个啊。Right存在的时候。我们就进行搜索啊。Where等于do塔?好接着写其他的搜索条件啊,还会进行什么搜索呢?通过这个商品的这个标题啊,进行一个搜索,搜索相应商品的一个评论的一个情况,对吧。通过这个ID的话很少见啊,你不可能说你让用户去先查一下商品的这个ID。
20:05
然后通过ID再去搜索评论对吧,这样肯定是不合适的,所以我们直接写什么呢?通过商品的啊,标题模糊,搜索相关的评论好吧。那我们这里定一个抬头啊。等于request。也是啊。再写一个问。这里我就直接复制了。加个箭头。把格式对齐好呃,当你搜索商品的这个标题的时候。啊,那这里我肯定得先查询啊。先查询。相关的商品ID对不对。
21:02
好。那得用到。这个商品的这个模型是吧。然后按照我们的这个条件。啊,用模糊搜索like,当然这里我们写例子就直接用的这个模糊搜索,但实际的商业项目中很少这么去用的啊,这个like是很耗费数据性能的,大家注意一下啊。百分号。模糊搜索。啊,这个。不是啊。变量用错了,是他。模糊搜索它,然后呃,我们要取ID啊,取ID呢,可以用这个PK啊,获取所有的商品的一个ID的一个数组,那既然获取到这个数组呢,这里是不是就可以用。
22:06
Where in对吧?二阴那五二阴谁呢。我们这个表的啊,这个表的固执杠ID,然后查这个就是说查出来的相关的商品的这个ID好。这样就可以了。来,我们来试一下啊。怎么试呢?嗯,先去改一下我们这个评论的数据啊。好,我们把啊这个商品的ID是不一样的,一个是一一个是二。啊,那我们看看这个商品。一的呢,它是有一个。啊,这个111啊,我们就搜索包含这个111的啊,进行模糊搜索,看能不能搜索到。这条评论就可以证实啊,测试我们这个。搜索条件生不生效啊。
23:01
在query里面加一些参数。裤子抬头啊,111,看,我能搜索出来这条商品吗?可以看到是不是有这个关于的一个商品的一个评论,对吧,并且我们看数量是不是一。就只查了一条。就是。包含了这个商品的这个。啊,标题是这个的一些评论对吧,那同样作为测试,我们去搜索一下什么呢。搜索一下这个。电脑,你看这些都有电脑是吧。因为评论啊,它只有两条,我们搜索的是评论,所以啊只能显示啊,包含电脑的这个标题的两条的一个评论。来试一下。搜索这个。电脑啊,你注意这个title啊总数,因为我们做了分页嘛。是不是变成两条了?你这个条件是生效的啊,同样的你你搜索这个条件也是生效的这个。
24:04
评级啊,中评,好评差评。啊,这样关于评论的搜索,然后加上这个分页就写好了,当然这一块我们是这么写的,你也可以去干什么去使用啊这个交引。查询也可以啊。你这么写也可以啊。接着优化。我们的列表啊,还有一句话什么呢,你看我们列表是不是。它会有一些关联的一些模型,比如说这个。啊,评论属于哪个用户对吧,这个评论属于哪个商品。是不是有时候我们还想要把商品的名字写出来嘛,对吧。啊,这时候继续去修改。啊啊。首先。嗯,定义。一个受保护的一个属性。啊,他就是我们可以。
25:00
让他们引入的一个一些内容就是user。嗯,以及这个。商品好。把注释写一下。接着学我们的方法。In克鲁有A。啊,这里同样是。评论的啊,这个模型。可以称。This。User是一条啊,一个评论属于一条,所以我们返回单条的一个数据啊,Item就可以了,返回谁comment里面的。不是里面的comment评论所属的一个用户对吧,然后我们使用user transform。
26:05
啊,并且格式化这个返回的这个用户的一个数据。啊,这样写完了,但是这个我们用不了啊,我们没有在评论模型里面去添加这个评论和用户的关联,所以要继续去修改一下。这个模型。写上一些方法。有。评论所属用户啊。评论啊,是属属于某个用户,所以是belongs to。属于谁属于优色写优色的这个模型类啊。啊,接着是它们关联的关系啊,是通过这个user-ID和组件ID进行关联的,对吧,同样的啊,我们顺手就把这个商品呢也给写上吧。
27:06
对不对。评论所属的这个商品。啊,把这个改成故字。当然是属于这个商品的这个模型啊。好,是商品。ID。那这个里面transform里面啊,就是comment的这个里面。没眼。去复制一下啊。先看看这个模型啊。复制一下。先把这个注释写完,然后复制一个这个呢去改,改一个商品的一个出来。额外的用户数据。额外的商品数据。银可路的。
28:04
它里面的。啊,然后使用商就是说你返回的是什么的一个数据,你要使用啊什么的一个transform啊,我们这里返回的商品呢,就使用商品的这个。那接下来我们来看看结果啊。对吧,现在是没有任何额外的信息,而且我们加了这个搜索,搜索电脑它是有两页对不对。啊,我们把分页改大一点啊。改成。二吧,你们一人显示两条。搜索这个电脑是不是搜索出来两条,你看第一条第二条。对吧,啊,当然一页就给我们显示完了嘛,所以它的这个link link就没有了。那我们怎么使用一些额外的数据呢?之前哎,就前两节课给大家说过,我们加上一个银可乐的参数就可以,然后后边加上你要引用的一些额外的数据,比如我们要包含上这个user这个信息。
29:06
会发现你看返回给我们数据里面,是不是把用户的信息也给带上了。对吧。是不是?我们要同时还在返回商品的信息,怎么办呢?加上这个逗号啊,加上我们的这个商品的这个额外的一个数据。看到了吧。是不是商品的这个数据也有了。包括这个链接什么都是处理好的,因为我们使用的是这个商品的,比较简单。啊,这样额外的数据我们就写完了,但是我们看商品的时候会发现啊,这个我们做处理了,但是我们评论的并没有做处理,是不是,而且没有返回。对吧,我们评论也是多图的呀。你看。而且我们表里面是有这个字段的嘛,是不是也是阶层类型跟商品的一样,对吧,所以我们要处理一下评论的啊这个数据。好。
30:00
怎么处理,怎么处理呢?嗯,我先去。复制一下这个商品的啊,然后我给加到这个评论的这个里面。啊,给加到这个评论的这个里面。让他也具备我们这个多图的一个。这样的一个东西,当然,因为它是杰森啊,我们在和PB使用的时候,我们想让它自动去转成数组。是不是啊,所以去可以去参考这个商品的这个模型,我们这要加一个这个属性,强制类型的属性的一个转换是吧,加到我们的评论这里。来,放到这。也是一样啊,转成数组就可以了是吧,接着去改这个transform。同样的去复制一下商品的就可以了,没必要。写代码一定要把效率给给给提高上去啊。啊,不是改他是改评论。在这里啊,去处理。
31:00
这个是评论的这个属性啊。我们再给他。附加一下啊,附加一下原始的这个数据,还有处理成链接的这个数据。都给它加上啊。啊,这个是。我们原始的存在一个评论的一个图啊,这个是什么呢?这个是啊,就说连接上我们的域名之后,带链接的一个。啊,一个这个突击。这样的话用客户端啊,就前端拿到这个链接,可以直接就显示这个图片是吧?啊一定要把这个给处理好。来,接着再看一下。是不是你看这个图片也给我们处理好了,所以说前台在拿到这个图片的一个列表的时候,直接去循环这个就可以先使用了,对吧,我们这把域名都处理好了吗。是不是啊?啊,包括我们。
32:00
加载的额外的user和这个商品的一些数据都有,这样我们一个完整的一个列表就写完了。所以说你会发现写了这么多功能。啊,基本上就是我们在写后后台的这个管理而言的话,基本上大致都是一致的啊,就是CD正常改查对不对,然后就是模型控制器数据表迁移,然后是transform。对吧,其实嗯,大概都都是这么多内容啊,顶多你有些嗯,比较复杂一些逻辑,你去处理一下就可以了。好。接着去写我们的这个详情啊,详情这里直接依赖注入进来啊这个模型。好,然后直接return this使用。订购的一个显示生成器,然后一条嘛,一条直接返回item就可以了,对吧,返回帮我们依赖注入的这个评论的一个实例,哎,使用。
33:01
我们评论的。这个川字缝详情就写完了,其实详情是最好写的,因为前面我们把那个字缝把什么都处理好了。叫什么?啊,来测一下我们的详情。详情。这里我复制到这个地址这里啊。好,加上评论的ID,是不是可以显示一个评论的详情。认证加上。看是不是一条的一个详情。是不是?对吧,你看图片也给我们处理好了。是不是好啊,同样的啊,因为我们的transform。啊,这里都处理好了,所以你要使用一些额外的数据的话。呃,也是直接使用include就可以了啊,Include所以要把这个用户的。啊加上啊加载上。是不是这个。
34:00
音可录的这个打错了啊。这个用户的就有了是吧,那同时还要想要商品的,就加上这个故。看一下。诶是不是评价哪个商品,然后哪个用户都有了,对吧。啊,所以通过这个银可罗特去控制我们的一些额外的一些关联的一些数据的话,是比较方便的啊,大家一定要善于去。啊,使用。详情写完了啊,接下来去写。哎,我们商家的一个回复。回复呢?其实类似于一个更新,它分什么?分你回复的一个评论,你要对哪个评论进行回复,然后呃,你要评论的这个内容是什么,所以我们要有一个request来捕获啊,你的这个评论对吧。捕获你的这个评论啊,获取到你输入的这个评论,接着还要依赖注入进来我们的一个实例。Model啊。
35:00
Mant啊,这个model,哎,这样就可以了啊,因为是一个更新操作,所以我们使用呃派方式这里路由。看一下啊,之前是不是定义错了啊,这里我们改成派,好,那它需要这样一个参数,然后加上一个replay。来,我们先把空气写完,然后再去测试啊。找到我们的控制器。CTRL把对面。嗯,回复呢,其实。比较好写,你可以在这加一个验证啊,就是比如你回复的内容不能为空是吧,Require。啊,我。第一个是我们的规则,第二个是我们的这个message是不是来我们规则验证谁呢?验证。啊re啊,就是rely啊replay知吧,嗯。
36:00
必填啊。啊,并且。嗯,加一个最大值MAX25。好,接着把我们的消息写一下。就是表单验证的一个消息,因为只有这一个字段,所以我们就没必要去单独创建表单验证的这个文件了,清楚吧。啊,直接就用这种简单的验证就可以了,Re play点。Required。回复。啊,直接回复吧,不能为空。哎,再接着去写一个规则。我们的最大值的规则。不能超过255字数。可以吧,好,那下面的代码我们先什么都不写,先看一看这个验证有没有通过啊。
37:00
再来一个。复制一下这个地址。然后是派气方式。后面还要加一个啊play。这才是我们的完整的一个地址,把认证给加上。提交。是不是给我们把这个就表面验证都给我们返回三二对吧,参数不够回复不等于空。是不是你看如果我们带上这个replay。啊,随便写些内容。是不是就可以了,对吧,那我们如果提交这个空的内容呢。是不是不能为空好?嗯,接下来就比较简单了啊,就因为我们这里传了我们要回复的这个ID啊,所以可以通过这个路由模型直接帮我们注入进来。哎,接着就是开始更新就可以了啊更新。啊。更新呢,我们直接使用这个这个模型的这个。
38:02
啊,动态属性去更新吗?Play play等于。嗯。Request里面的input reply好,最后不要忘了save。啊,给他一个响应更新的话还是。啊,我们返回这个。无内容的一个响应,哎,这样我们更新过程就写完了来。测试一下,先看一下数据库。第一条他是不是没有评论的,对吧,现在我们。哎,改这个第一条,并且给大家评论的内容啊,上架回复啊,感谢啊,您的购买怎么怎么样啊。来发送。是不是一个204,那内容的一个响应,然后刷新一下。哎,也就完成了这样评论的功能也基本上就。写完了对吧。
39:01
嗯,当然。嗯,这只是评论相关的一个功能,其实我们在写一个功能的时候,你还要想到就是说和他牵扯的一些功能。对不对?评论我们是处理好了。但是我们的商品列表是不是也得去处理一下?对吧。那我们去看商品列表,比如看商品的详情,是不是也想要看这个商品所相关的一些评论,对不对啊,所以啊,接着去改。嗯,去改这个商品的。啊啊。找找商品的传送。嗯,然后加上什么呢?我们再加一个额外的一个数据啊。评论来。复制一下额外的评评价啊评价数据。银可路的。
40:03
唐曼子啊。然后是返回商品里面的这个command。啊,这有的这个商品。忘了加S了。先这么用啊好。这样就是说啊,返回的话呢,我们商品是有多个这个评论是不是,所以这边应该是返回一个集合。啊啊,同时。啊,这里就不是。这个用户的这个transform了,而是我们评论的transform。对不对。COMMAND3次form,那同样还有问题,我们商品的这个模型里面是不是要去建立一个商品和频率的关联才可以,对不要不然你这个你用不了啊。对吧,来去到这个里面。
41:07
商品。所有的。评价。商品和评价什么关系?商品有很多,评价对吧?它是has many的一个关系。然后关联的表是评论表。关联这个类。外键啊就是。评论表里面的这个关联的一个键,那是。固子杠ID啊。本地的一个表是ID。哎,这就可以了啊好。我们加了这么一个关系的话呢,你要注意你要在这个模型里面要加对应的关系啊,同时还要在transform里面。去。这个传输缝里面去加上。啊,额外的一个引入的一个方法。接下来去看一看啊,商品的一个列表。
42:05
看看我们的评论能不能引入啊。商品列表api.test API。前缀德in前缀故字啊。啊,这是我们商品的列表啊,当然现在没有加认证,你只是请求不了选下头。商品列表是吧,而且是做了分页的,你看每页显示两个。好,现在是不包含这个评论的,我们使用音可录的。包含这个评论,试试看能不能拿到数据啊。请求。可以看到第一个商品。是不是拿到这个评论的数据了,这个评论的数据了,对不对。
43:00
看到了没有?啊,因为我们评论可能有多个,所以他这里给了一个date,并且用了就是说用了一个数组来看第二条,第二条是不是也有评论。是吧?好,那我们再加一个分页的一个参数,比如说配景。等于二我们看第二页的数据。啊,你看现在当前页是不是一,我们加个分页嘛,我们就我们就想象自己点了去下一页啊,点了一个下一页这个链接。知道吧。这是电脑三的ID3的,他是不是没有评论,你看他评论数据是空对吧。评论数据是空。是不是?哎,这样我们的。功能就是说评价的功能才算真正写完了。我们不仅要把评价。啊,它的这个相关的功能处理完,你还要把可能用到评价的地方,比如说这个啊商品的这块。是不是?
44:00
啊,当然。啊,我们是拿列表做了一个例子,因为我们是改的这个商品的这个transform对不对,所以你在做商品详情的时候,也是直接加上额外引入我们的这个评价就会有了。啊,有相关的这个评价的一个数据了。好吧。好,这里。呃,因为之前写代码造成的一些不严谨的一些问题,就应该是故障啊,这个我们就不改了,因为很多地方都用到了。大家注意一下就行了。最好。功能写完之后啊,要记得去把我们的文档给补全,包括我们新建的表,把数据字典给补全啊,新写的API,把API啊相应的一些使用,按照我们的模板都给写好。不要等到。你所有的项目写完了,你的文档还没有呢啊,你基本上你就写个两三个功能,就去写一下文档。啊,以免你写的这个功能多了,你回来再写文档又忘了这个功能都都有什么返回了,都有什么数据了,你还要重新去看一遍你的代码,去捋功能,这样是比较啊浪费时间的,还是建议每写一个功能去写一下文档啊,没写一个功能写一下文档。
我来说两句