在数据产品中,经常会用到趋势图,在趋势图中有两种情况需要考虑:第一,如果某一天的数据更新失败,就会出现断点的情况,第二,如果某一天的数据本身就是0,应该显示0;现在遇到的问题是不管数据更新失败,还是本身就是零,都显示的是断点。那如何解决这个问题呢?
趋势图的开发涉及到三个方面的技术同学:前端、后端和数据。因为这个是跟数据同学直接相关的,所以最先想到的应该是数据同学来解决,现在数据同学的做法是:当某一天的数据为零时,在数据库中没有对应的记录,数据更新失败也是没有对应的记录,所以把数据给到后端时都是空。我们希望当数据为零时,应该传零,而不应该传空。
数据同学反馈说:当某一天的数据为零时,在数据库中没有对应的记录,如果要传零,需要新建一条为零的记录,这样做对数据库来讲不太合理,除了这种解法还有其他解法吗?
另外一种是:后端同学来处理,后端同学首先判断每天数据更新成功与否的状态,如果更新失败,传给前端的就是空,如果是更新成功,但没有数据,认为该日期对应的数据就是零,把零传给前端,这是一种解决方案。这个解决方案背后的思维是替换思维
替换思维:在解决一个问题的时候,列出来其中的对象和操作,找到对象与操作之间的关系,尝试用其他的对象替换某一种对象,就会产生不同的解决方案。这个方案中把问题的解决者由数据同学改到后端同学。
最开始解决讨论如何解决这个问题时:和后端同学、数据同学一直讨论的是数据同学如何解决这个问题,但采用替换思维,开始思考如果后端同学来解决的话,是不是更简单些?最终讨论的结果是后端同学。
在解决问题时,靠第一感觉,容易产生思维定式,这时要跳出思维定式,从不同的角度思考是否有其他的解决方案。最基本的做法是,列出出来问题中涉及的主要对象,从不同的对象出发,去思考是否有更好的解决方案。
网友评论