一、问题

实际开发中,经常需要做数据转换。

比如:性别sex 数据库存储为0,界面展示“男”;

数据库值为null,界面需要展示为“空”;

数据库值为null,前端需要返回“{}”。

二、争论

之前RHE在项目里,有2位弟兄经常争论:谁来负责转换,尤其是null的问题。最终,也没结论。

我的看法:谁都可以转换。谁都可以多做一点。

如果是我:

0 转“男”,null转空字符串""或者“无”,可以由后端来做;

null转 json的空对象{},后端不太合适,应该是前端或者移动端的框架来适配null的情况。

三、在近期dts和crm、模型开发平台交互的项目里,又遇到一种常见的问题,算是一道选择题:

问题描述:crm和modelhub等项目,在与之前的上游项目交互时,已经存在了1个接口或者某种数据格式。

但是,接口里杂七杂八的字段太多,很多都不是关键字段;也存在,字段命名、字段设计不太合理的地方,然而他已经存在很久了。

1、方法1:按照新的上游调用方的参数格式

新写的代码,往往符合最新的情况;如果新的开发人员,写代码追求,那就完美了。

字段精简、命名准确、层次清晰。

好处:字段清晰、好维护

代价:下游被调用方,新写1个接口,内部维护新旧2种格式的数据 或者 额外增加一套数据转换的方法

2、方法2:按照老的已经存在的接口

好处:保证下游的稳定性,不出乱子

代价:新的调用方,做数据转换。

四、观点

工作生活中,总有很多不完美的地方。

严谨条理、理智冷静、适配平衡、稳定团结。