实习生任务
对详情模块的技术要点、分层框架和缓存的使用实现到位
缓存的使用不准确,代码的实现有一些弯路
核心代码
java

1赞
@兄dei! 的本期作品
赞一下
导师点评
9 分

电影详情模块Java代码官方版:
https://m.naoffer.com/intern/task/651

本期作业评审视频:
https://m.naoffer.com/intern/review/340

该作品对推电影项目详情模块的产品要求实现到位,比如说产品细节的电影模型部分,包括电影的地区,时间,上映地区等规范,并在开发模型上使用了都是枚举的实现方式。

另外,对该模块的特色,比如说给年轻人的推图集推影集推文案的设计,包括对多个导演和多个演员的优化实行方案,在实现中都有对应的表示。因为详情页的功能往往是一个项目或者网站里面最复杂的部分,后续其他模块在实现之后,也会将入口放到详情页,所以性能的考虑就尤为重要。这个也是我们开发新守望一个合格的开发工程师进阶的必须一步,也是校招面试的时候对项目询问的一个对应的深度。

但是项目也有一些问题:

1跟新同学在正常的功能模块之外加了缓存的功能,这个是一个比较好的想法。但是一般用不用缓存是流量到了一定位置时候再去考虑的事情?对一个刚上线的创业应用模块,把重心放到产品逻辑实现上更为重要。

真实的实习和框架使用是需要根据流量的需求去进行设计,而不是所有的东西都加上缓存。

比如说这个地方加上缓存,也要考虑到缓存的时间点的问题。

比如说有一些操作性的用户收藏的行为,也属于电影详情的模型部分,那么,这部分的缓存就应该短一些,尽量缩小到半分钟到一分钟左右。而对变化较小的,比如说推文案或者是其他的部分可以缓存到半天到一天的时间。

尤其详情模块,后续还会增加很多的其他后续模块的入口,所以不能很简单的直接安一个缓存方式来进行存储。

所以商业上的实现一定有它的严谨性,要么没到这个流量,就没有必要去增加复杂度加缓存;要么是增加缓存,一定要考虑到各种东西的细节。

2代码的实现规范细节不是很好,比如说电影类型的转化,既然已经用了枚举的方式,那数据库里面直接存放一个数字类型就好,就不需要再增加转化成integer的代码