在掘金热榜看到一个新名词,分页合理化。这个词看着有难度,但意思挺贴切
。做过前后端开发,特别是管理系统开发的朋友,对分页应该比较熟悉。
分页实现难度不大,把页面信息转化为数据偏移量和取数大小传给数据库即可。但不知你有没考虑过这种情况,传入的分页为负数,或者分页值很大,或者单页数据很多。这些操作都不好,会造成数据查不出来,内存溢出,乃至程序奔溃。
分页合理化就是把请求的页面信息限制到合理的数据量范围内,边界外的请求要拉到边界内,因为外面的世界不安全⚠️。
做到分页合理化是个系统工程,和前后端都有关系。我们一定要关注两端的一致性,否则出现的BUG可能远超预期,特别是有些前端组件会自动合理化。🌰比如,某页数据删完了,从接口查这页的数据为空,但前端组件检测到总数据量不够了,会自动把界面切到前一页。用户就很奇怪,前一页有数据啊,咋显示不出来?这是不是很奇怪,我们是得解决吧。
分页合理化本质上体现了两个东西,一是底线意识,另一个是规范性。不让用户做些自由选择,体验必定不顺畅。但自由过火了,大家都难受,必定要有所限制。限制不是坏事,只要能保持系统整体上是一致的。不然轮不到用户不满,BUG就会先找上来。🐒
![[强]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_79.6185c09.png)
分页实现难度不大,把页面信息转化为数据偏移量和取数大小传给数据库即可。但不知你有没考虑过这种情况,传入的分页为负数,或者分页值很大,或者单页数据很多。这些操作都不好,会造成数据查不出来,内存溢出,乃至程序奔溃。
分页合理化就是把请求的页面信息限制到合理的数据量范围内,边界外的请求要拉到边界内,因为外面的世界不安全⚠️。
做到分页合理化是个系统工程,和前后端都有关系。我们一定要关注两端的一致性,否则出现的BUG可能远超预期,特别是有些前端组件会自动合理化。🌰比如,某页数据删完了,从接口查这页的数据为空,但前端组件检测到总数据量不够了,会自动把界面切到前一页。用户就很奇怪,前一页有数据啊,咋显示不出来?这是不是很奇怪,我们是得解决吧。
分页合理化本质上体现了两个东西,一是底线意识,另一个是规范性。不让用户做些自由选择,体验必定不顺畅。但自由过火了,大家都难受,必定要有所限制。限制不是坏事,只要能保持系统整体上是一致的。不然轮不到用户不满,BUG就会先找上来。🐒
展开
评论
2