在线实习是大拿老师为了正在准备校招的IT同学带来的免费项目,每期一个主题,业务模式简单且项目突出,适合作为校招的项目经历。
本期小拿带来的是在线实习「推推」项目“书目列表模块”的Java开发文档官方评审,有很多同学提交了Java作业,其中都反馈出了哪些常见问题呢?跟小拿一起往下看叭!
01 CSP同学
大拿老师点评
1.本期小说列表模块功能牵扯到两个表格,一个表格和单个小说列表有关,另一个和更新记录有关。也可以把最新这一期的时间和章节信息放出来,这样查询速度更快,效率更高。
2.IT用bigint没有问题,但是在小说列表部分不会有那么多书籍,需要参考设计东西的目标性,早期设计成int类型更好。在大公司做设计时,要做出预判:这个表在两年三年内能否达到这样的层级?
3.数据库设计有两种写法,一种是用下划线,一种是Java常用的骆驼曲线,以大小写来做区分。都可以使用,但建议大家用大小写,大小写能更好地做映射,能少写很多映射的设定。
4.更新时间部分需要注意,更新时间不一定是小说最后更新时间,也可能是状态变更时间。大部分表的默认字段并不参与到实际业务过程。最新更新章节需要有一个字段性记录,可以加一个latest update time。
5.接口有三个默认的方法,insert,update和load by ID。在公司里,尤其是To C的互联网业务,很少提供Delete功能,只是一个后台功能。
6.有的同学会用page helper实现分页,在实习项目里并不建议大家使用。很多外包公司会用,因为它用起来比较简单,但是它屏蔽了很复杂的一些实现,封装的东西越过度,它的实现越麻烦。
7.配置和limit必然用不到long类型。一个页面不可能有那么长long类型,要注意int 和long的使用。如果一个单页已经到了long的长度,它的分页没有意义,性能会出现问题。 如果定了一个返回值是它,返回list就可以。用插件导致了可维护性和阅读性的变差,这三个参数略有问题。
02 HXF同学
大拿老师点评
1.文档设计不到位,功能主键有缺失。这个是针对列表页的一个功能,列表页需要把部分章节的信息放出来。正常的表格一定要有四个字段,ID,status,at time和update time。
2.注意几个小的规范问题,如果是用下线的话,最好用小写。在java 里面比较常用是驼峰型,小写后用大写字母来打头。这样在做映射时不用单独做注解。
03 两小壳子同学
大拿老师点评
1.ID这个字段可以小写,它比较特殊。可以做一个冗余,封皮要有订阅数字更新的时间。
2.我们还有两个字段,一个是standards,一个是at time。跟表业务关系不是很大,但是表的核心功能是这个东西,我们一直强调说要认真看官方Demo,那是我们做事的格式。大家在公司实习的时候,做事一定是有规范的。
3.novel一般就是Page ID和sort type排序的类型。有一个重要的问题,一般来说有两个接口,一个是Page ID,一个是size,一页多少行,多少条数据?最好是把它设置成一个常量,放在controller 层去调用,而不是在service 层。因为是常用常改变的东西,不要把死的东西放在里面。
4.在设计上,0是很特殊的,是一种非法态,或者是一个不是那么确定的业务形态。我们做设计的时候,通常不要用0作为一个具体业务。可以写一个sort的枚举,在业务形态controller 层也好,在server 层也好,用枚举实现,方便阅读和维护。
04 惟仔同学
大拿老师点评
1.最好用大小写的驼峰方式。
2.int 类型的长度有十二位,一般十一是上限。
3.name,author,author name,摆放时一对放在一起,后期维护或查数据时更方便。
4.订阅人数最好不要叫number,因为以后会增加别的信息,在考虑名字时要有一个概念,如果是增加字段,对现在业务没有影响,但是如果增加的字段跟现在的字段有冲突,或者名称有一定的覆盖性,再改已有字段的名称,对业务的影响会比较大,所以需要每个字段都能够运动。
5.三个固定的接口,一个是insert,一个是update,另外一个是load by ID。要保持整个项目的统一性。
6.唯一的一个业务接口,按最热和最新排序。最后拉的list一定要考虑分页。
本期在线实习就到这里啦,如果对其他在线实习项目感兴趣,欢迎关注“校招VIP”公众号查看更多精彩内容~
编辑丨小拿
小程序丨校招VIP
微信公众号丨校招VIP