数据的流向是从后端往前端的,有些时候,后端给的数据不能直接在展示在页面上使用。这时候就需要前后端沟通谁来做数据格式化的问题。

前端也能做数据格式化。

  • 第一版开发,前端对后端返回的数据做了过滤操作,多给了字段,但是不展示。满足了产品预期,没出现什么问题

  • 第二版开发,前端对数据做了新增属性操作,字段不够,自己往里面补了。满足了产品预期,没出现什么问题

  • 第三版开发,前端对数据做了劫持,修改了源数据对某个值。满足了产品预期,出现了问题。因为改了这个数据,但这个数据和其他并列的数据有逻辑关系,前者改了,后者也得改,虽然产品方案上没有给出二者的联动逻辑(因为这是历史逻辑),产品方案也有缺陷,但是开发也没有评估到二者联动逻辑的影响,导致了线上问题。

可以看到,对源数据的修改是渐进式的,在第三版的时候,我对“修改带来的影响”已经渐渐失去了敏感度。我把这个称之为“”渐进式的思维陷阱“。

如何避免这个渐进式的陷阱呢?

对数据对修改可以归类为”增删改“,前端对”改类“的修改要格外高度关注,因为可能存在隐性的逻辑在后端,自己无法感知。另外,针对”增删“类,保持好习惯,让后端给可以渲染的数据。