• 110、数据转换的事情,谁来做?


    一、问题

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

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

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

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

    二、争论

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

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

    如果是我:

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

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

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

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

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

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

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

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

    好处:字段清晰、好维护

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

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

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

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

    四、观点

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

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

  • 相关阅读:
    Scaling Memcache at Facebook
    【Android UI】贝塞尔曲线 ③ ( 贝塞尔曲线关键点坐标记录 | 二阶贝塞尔曲线示例 )
    5G NR学习入门
    如何使用 JMeter 进行 HTTPS 请求测试?
    共用一个一维空间的双向栈
    如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单
    云原生:10分钟了解一下Kubernetes架构
    SPA项目开发之表单验证&增删改功能
    python判断语句
    【韩顺平】Linux基础
  • 原文地址:https://blog.csdn.net/FansUnion/article/details/126859152