众包项目个人总结

这篇博客主要是自己的众包大作业的一些心得。

项目还在开发中,讲真还没啥体会和感受,项目的整体结构和我写的微信抢票没太大差别。身体太差,感冒了还导致自己头晕脑胀一点都不想开发,加之其他作业DDL较多,所以确实这个作业的进度耽搁得比较惨。

倒是有很多吐槽。

很担心一些表层的东西掩盖掉背后的用心设计,比如光邮箱验证,实际上是需要复杂的逻辑的。比如为了避免未激活的用户影响正常用户的创建,未激活的用户信息应当临时地存储;此外邮件的验证链接点击一次之后应当无效;同一个邮箱如果发送了新的验证邮件,旧的所有的发往该邮箱的验证邮件也应当无效;验证总归是有时效的,几个月前的验证邮件应当作废。而如果不考虑以上这些,也可以写出一个邮箱验证,其工作量相较于前者是大大减少的,但最后的评分可能相差无几。

性能测试浮于表面。真正的性能来自异步IO、高效率的数据库访问(外键是否合理、索引是否合理、是否最小化数据库访问)、缓存(这个吧,瞎jb进程内缓存不可取,Redis是王道,多节点负载均衡下的进程内缓存会破坏数据一致性,scalable和单节点性能相比,前者才是并发实力的源泉)等等,这些我尽可能地考虑到,但比不上别人随便那个东西跑个测试看上去好看。

功能测试浮于表面,大型项目测试无比重要,可这毕竟是小项目。时间是真的短,我坚信测试驱动开发是性价比(开发速度/bug率)很高的,但是吧,这个大作业的最终评分中,bug率很难衡量。毕竟正常情况下的业务逻辑谁都能handle,而这部分逻辑才决定了评分。而极端情况下的逻辑、输入不做处理又省时又省力。(当然我还是坚持后端必须尽全力做到安全,反正以前我注入了别人的服务器,我的服务器也被干过,互联网上永远都是昼夜不息的攻击)。

2016-2020 Ziping Sun
京ICP备 17062397号