[前端常见病] 之 后端数据还没有,前端怎么进行?

标题所描述的情况,一般出现在后端进度滞后,前端又积累了一些工作量的情况下。在业务需求已经基本清晰的时候,前端的进度是很快的,UI设计出设计图,前端小兄弟切页面,到我这写页面交互逻辑。

当我把前端各个页面的功能、弹出窗口,公共方法都搞好,css,js都理顺,各页面本身的UI交互都写的差不多的时候,就该请求数据了。

而如此这时,后端还存在着技术选型的分歧的时候,就会造成进度滞后,相关接口还没有。有时会因为对需求有了新的理解,而需要换一套后端架构,重来的时候,那时间就比较长了。

一般到这种时候,要么前端就是等;要么前端就自己搞点数据,先自己写。什么后端出一份接口文档,前端按这个搞json,然后等后端有数据了再两边联调试。反正说起来也很简单,无非是一些json,前端先自己搞一下呗。道理是这样没有错。但这里的坑也不少。

但没办法呀,也不能真的前端就一直等啊,开搞吧。

后端的哥们扔给你一份接口文档,你就按这个自己搞了一些json数据,分别是登录,注册,获取列表,自定义功能什么,,等

然后你自己就一板一眼的,好吧,先来登录的json,你就想啊,我登录啊,得输入用户名,密码啊,那么先拼一个,

{
 login:{
 name:'a',
 pass:'b'
 }
}

好了,登录后,肯定得有返回啊,低头看看接口文档,喔,有登录成功和登录失败。成功了返回用户信息,失败了返回“登录失败提示并跳回首页”。

Ok,没问题,先来登录成功的,json在线编辑器走起,

{
    "message": 0,
    "name": "name1",
    "sex": 0,
    "age": 22,
    "address": {
        "street": "科技园路.",
        "city": "江苏苏州",
        "country": "中国"
    },
    "Interest": [
        {
            "name": "游戏"
        {
            "name": "姑娘"
        },
        {
            "name": "吃"
        }
    ]
}

这就是登录成功之后返回的用户信息,然后你就顺着这个json往下写,先判断信息类型。。

if( obj.message == 1 ){
 return ;
}

你就这么往下写,把什么地址啊,兴趣都在相应的弹出容器里搞好了。你还美美的想着,“按我这进展,今晚6点下班没问题。小美姑娘晚上一起吃饭,等我喔。。。”

正当你口水差点流出来的时候,后端的同学猛的一封邮件发过来,你打开一看,里面是新的接口文档!我日啊,格式和之前的完全不一样。你问他Y的,这格式不对啊。那厮头也不抬的回你一句,“以此为准”。

这时,你之前写的那些按json格式生成dom,并绑定事件,添加交互的部分,肯定是全部作废的。因为现在的后端发来的json完全不一样了。不说你全白写,至少是80%白写。

这时你只能默默把之前写的js,改的改,删的删。什么小美姑娘,还是留给别人吧。至于什么他们单方面修改个什么字段名啊,把某个值换个地方啊,那都太常见了。

说到这里,我个人对于“后端数据没准备好”,让前端自己搞点假数据这种事的应对方法,就是慢点写。。。

因为他们给你的所谓接口文档,只是“当时当下”的接口文档,万一真的后端架构重来,那之前的文档肯定作废。

我个人觉得,不是不相信他们,而是慢点写,对自己对大家都好。把前端能确定的地方,好好写写,不能确定的地方就慢点写。

以后大家在工作中,万一真的遇到了我文中所写的这种情况,众前端码畜一定要明白,“他们不是为你而工作”,他们也难,他们也要加班。

在他们的心里,也有自己的“小美姑娘”。

别急,别气,都不容易。

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2017-03-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏解Bug之路

解Bug之路-TCP粘包Bug

详情见笔者另一篇博客https://my.oschina.net/alchemystar/blog/833937

1142
来自专栏FreeBuf

加油站也会被黑?来看看这个攻击案例

这篇文章涉及的问题主要与加油管理设备公司Veeder Root相关的油品液位仪TLS-300/350 UST和TLS-350R相关,原因在于可以通过其错误配置的...

2446
来自专栏魏艾斯博客www.vpsss.net

iq block country 插件屏蔽中国 IP 防止 wordpress 外贸网站被抄袭

9895
来自专栏Data Analysis & Viz

手把手教你完成一个数据科学小项目(1):数据爬取

请先阅读“中国年轻人正带领国家走向危机”,这锅背是不背? 一文,以对“手把手教你完成一个数据科学小项目”系列有个全局性的了解。

1682
来自专栏Bug生活2048

这些数据库,你都用过吗

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格...

1671
来自专栏Timhbw博客

小白搭建博客教程-购买域名(1)

2016-06-0923:38:55 发表评论 438℃热度 上一回说道:小白搭建博客教程之流程,这次趁着端午节写完它,也算是一个了结。 ? 教程有4篇: 购...

1.1K8
来自专栏编程一生

郁金香搜索引擎的方案

1524
来自专栏iOS技术

设计一个简单的 iOS 架构前言一、关于组件化二、模块化思维划分文件三、减少全局宏的使用四、去基类化设计五、MVC?MVP?MVVM?VIPER?结语

正如“100个读者就有100个哈姆雷特”一样,对于架构的理解不同的软件工程师有不同的看法。架构设计往往是一个权衡的过程,每一个架构设计者都要考虑到各个因素,比如...

1573
来自专栏Samego开发资源

那个程序员的Linux常用软件清单

1.1K5
来自专栏Java技术栈

同样是5年的开发经验,差距在哪里了?

我现在就职于一家中型的互联网企业,去年年底入职的薪资和待遇都很不错,但是总结起来说的好听就是全村人的希望,说的不好听就是一个人几乎干了一个项目组的事。

1066

扫码关注云+社区

领取腾讯云代金券