先说说我的项目,主要是一个管理端平台,有很多统计表格页。
简单举一个例子,比如表格中有一项数据列content
,后端提供的文档类型是String
同时有一个需求,表格里content
长度限制20字符,超出部分截断加'...',鼠标悬浮用弹出框显示全文。
本来用 v-if='content.length > 20'/v-else
是可以解决的
但是如果content
数据为空,后台会返回null
,那么content.length
就会报错导致页面无法渲染。
类似的还有列表,空列表有时候也会返回null
(有时候是[]
),每次对接接口为了防止意外都得加 list = res.result.list || []
按我的想法来说,这个类型应该是后端约束吧,如果字段是String
类型,为空就应该返回''
而不是null
。
但是考虑到实际情况,我们项目前端的部分大概占三成,后端和前端接口对接大概占三成,然后项目还有后台逻辑,后端要接第三方API以及数据迁移,这部分大概占4成。虽然后端人数多一些,但是人均工作量前端还是会低一些,测试有时候遇到这种问题都是会提给前端(数据项太多了,一次比较难考虑周全),我看到一般就顺手改了。
本来我是没啥疑问的,我想的是理论归理论,实际情况归实际情况,反正这点小问题前后端都能处理,谁方便谁来就好了。
但是今天摸鱼逛知乎,看到了一个类似的问题,发现在下面意外地吵得比较凶。
考虑到这个论坛毕竟还是程序员为主,想问问大家对这种数据类型异常的问题是怎么看的呢
团队目前是:
以前都是null, 生产报错就说是后端返回问题, 后来在调试的时候都让他们尽量这样返回了
其实和自己团队的后端或者leader有关, 最好制定开发规范