“小说列表模块”JAVA代码官方评审「在线实习·推推」

在线实习是大拿老师为了正在准备校招的IT同学带来的免费项目,每期一个主题,业务模式简单且项目突出,适合作为校招的项目经历。

本期小拿带来的是在线实习「推推」项目“小说列表模块”的Java代码评审,大拿老师为各位同学的作业提出了非常宝贵的意见,快和小拿一起往下看看!

大拿老师按

小说列表模块是一个比较简单的模块。重点看两个地方,第一点是给前端提供的接口,它的数据是否正确;第二点是怎么进行分页服务当中service的实现

01 两小壳子同学

图片

图片

图片

大拿老师点评

1.Java 是前后端分离的,后端不应该出现页面。Java本身用的不分离模式,是有模板,它会调两个参数,最后显示小说列表页面。但是要注意现在的前后端部分里,我们要提供接口数据给前端

2.Sort 是给页面的。如果给前端同学做接口的话,就不用在意,因为他会传给我们;如果是接口的话,Sort就不用传了,因为这是调接口,页面上一定是有的。

3. 在目前的展示里并不太需要LastID,开发设计文档时,分页是按照每次更新之后的总页数进行重排序的定位,再拉到业务上,如果数据更新很多,在加载新页的数据时,有一部分在上面已经出现过,甚至跑到前页的数据上,所以要根据不同的场景采取不同措施。我们的数目不是很多,可以用分页的方式来实现。另外一种方法是按照当前最后一条的排序主键ID进行下页的加载。例如微博有一个向上加载更新,它不是按分页来的,而是按照加载next 实验,有个参数,从当前开始加载新的实验,最新的重新加载和展示。

4.有一个难点,按照时间序没有问题,但如果是按照热门序,热门可能不是唯一的,如果三个人的小说热度一样,传参数时如何标记后面从哪个值开始?这个问题有一定的复杂性,并非一个函数就能解决。

02 Charlotte同学

图片

图片

图片

图片

大拿老师点评

1.注意前端业务的业务逻辑问题,它不是后台业务,每个接口都要提供更新插入,比如展示首页,现在并不需要这样的功能,可能以后会需要,但每期的任务应该按照每期的功能点去做,没有必要很早就把功能放上去。

2.如果逻辑相近,最好合并后通过条件进行区分。如果后面有不同,有十个分类的方式,写十个接口,每个都单独固定,肯定是不合理的。我们已经提供一个接口格式,一定要注意按照格式来完成。现在这样做让它的可维护性变得很差,一旦复杂度提升,后面就很难维护,每个都要修改,要变动。要注意如果是动态的MySQL应该怎么去实现的问题。

3.一直反复强调的问题依旧存在:RespondDO的格式要固定,如果自定义接口,其他岗位无法知道格式是什么。在大公司里,给前端的大格式一定是一样的,只是data不一样,它一定有一个数据,在我们项目里面就叫RespondDO。无论是现在的在线实习还是将来在公司工作,都不应该在规则上出现问题、花费大量时间。

03 惟仔同学

图片

图片

图片

图片

图片

大拿老师点评

1.和上面的同学存在一样的问题,返回值要用统一的接口,除了具体的传递内容之外,一般要告诉前端,接口是否调成功了,失败的话原因是什么?

2.不建议大家用Page Helper 组件,它会多次查询,包括分了多少页,每页的起始数据,在有很多条件的复杂查询场景,它的实现较冗余,性能上存在问题。

3.一定要注意值有没有可能为空,不然可能会出问题,因为每次拉新页面,可能出现极端情况下最后是空的值,会报错。

4.实现和命名写得不是特别规范,导致返回值也不合理。如果在内部service 里,返回用了别人的东西做,安全性、效率性、可读性都无法得到保障,要改对象时写的东西会比较多。Page helper会用就好,但不是非常重要的东西。目前我们只有两个条件,如果之后筛选条件较多,需要花很多精力去做排序,为了兼容导致很难维护,是不太合适的选择,实际上一句java 语句就能实现目的。

老师总结

同学们一定要去看Demo,注意RespondDO,第一期大家出现各种问题都没有关系,官方版发布后大家去看一下代码,它所谓的接口返回值前后端分离,实际上只是一个格式,就像Spring一样,会用了就就可以了,不要太担心去懂它的底层是怎么实现,难点还是在逻辑的实现。不要在不是特别重要的地方犯错误。

本期在线实习就到这里啦,如果对其他在线实习项目感兴趣,欢迎关注“校招VIP”公众号查看更多精彩内容~


编辑丨小拿

小程序丨校招VIP

微信公众号丨校招VIP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值