V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Irisxx
V2EX  ›  职场话题

新入职了一家公司,第一次对接口,差点脑溢血

  •  3
     
  •   Irisxx · 2024-07-22 18:01:33 +08:00 · 15438 次点击
    这是一个创建于 379 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个最简单的二维数组能做成这样 UI 数据结构 瞬间不想干了

    96 条回复    2024-07-25 22:33:34 +08:00
    vacuitym
        1
    vacuitym  
       2024-07-22 18:15:02 +08:00
    有点抽象了
    Abbeyok
        2
    Abbeyok  
       2024-07-22 18:16:53 +08:00
    既然能跑,那就不动,哈哈
    SodaPopBoy
        3
    SodaPopBoy  
       2024-07-22 18:19:59 +08:00 via Android
    取决于你是来挣钱的还是学技术的
    MangoFlavor
        4
    MangoFlavor  
       2024-07-22 18:24:16 +08:00
    @SodaPopBoy 有道理哦,如果工资合适倒是可以
    baoei
        5
    baoei  
       2024-07-22 18:27:28 +08:00
    有什么问题? 还有我想说的是 你暴露公司网址啦~~极家家居....
    43n5Z6GyW39943pj
        6
    43n5Z6GyW39943pj  
       2024-07-22 18:38:22 +08:00
    接口先放一边, 小程序是怎么做到如此抽象的
    renmu
        7
    renmu  
       2024-07-22 18:38:36 +08:00 via Android   ❤️ 1
    后端是不是 php 写的(笑
    uiosun
        8
    uiosun  
       2024-07-22 18:42:01 +08:00
    @renmu 骂的太脏了哈哈哈,不用 PHP ,我用 Go/Python 也能写出这东西 XD
    Track13
        9
    Track13  
       2024-07-22 18:43:08 +08:00 via Android
    就这啊。
    一个一维数组 icon_1 ,icon_2 以此类推。其他字段也是。问就直接倒表格快。
    maigebaoer
        10
    maigebaoer  
       2024-07-22 18:44:05 +08:00 via Android
    这不,你来了,改造启动!
    boris1993Jr
        11
    boris1993Jr  
       2024-07-22 18:44:36 +08:00 via iPhone
    没点技术还真写不出这样的玩意
    牛逼坏了
    Irisxx
        12
    Irisxx  
    OP
       2024-07-22 18:46:16 +08:00 via iPhone
    @renmu JAVA 写的
    beginor
        13
    beginor  
       2024-07-22 18:46:21 +08:00 via Android
    主材是 0 ,辅材是 1 ,或者反过来,然后两者都是数组,有么?觉得 0 ,1 不爽,可以自己定义成符号或者常量,这么容易就脑溢血,不怕熬不到 35 就退休的年纪
    potatowish
        14
    potatowish  
       2024-07-22 18:46:31 +08:00 via iPhone
    你就说能不能用吧
    wolfie
        15
    wolfie  
       2024-07-22 18:49:04 +08:00
    估计拿某个工具,把 List 、Array 转成了 Map ,key 自动用下标填充了。
    zx9481
        16
    zx9481  
       2024-07-22 18:49:15 +08:00
    所以正确合理的格式应该是?
    LiLaoMo
        17
    LiLaoMo  
       2024-07-22 18:59:12 +08:00
    命名问题 那就去问问对应的后端什么情况
    凭这一点就直接否认一家公司?
    Meteora626
        18
    Meteora626  
       2024-07-22 19:47:20 +08:00
    只要后端返回的和文档接口定义的一样我觉的后端就没问题
    tool2dx
        19
    tool2dx  
       2024-07-22 20:01:11 +08:00 via Android
    把同事开掉,你自己兼做前后端,拿双倍工资,双倍快乐。
    imnpc
        20
    imnpc  
       2024-07-22 20:20:36 +08:00
    哈哈哈 PHP 有些处理结果是这样 需要 array_value 下 但是 JAVA 也这样是我没想到的
    z1829909
        21
    z1829909  
       2024-07-22 20:23:10 +08:00 via Android
    看着像是 php 吐出来的数据。
    linmilu
        22
    linmilu  
       2024-07-22 20:24:57 +08:00
    @tool2dx 这个就想多了 开掉之后只有双倍工作
    so2back
        23
    so2back  
       2024-07-22 20:29:29 +08:00
    如果只是 0 和 1 的问题那倒是没啥,无非就是用状态码代替了编码而已
    Irisxx
        24
    Irisxx  
    OP
       2024-07-22 20:34:37 +08:00 via iPhone
    @tool2dx 我当初主动说过可以同时写后端,但是我不会 JAVA ,他们怕我走后没人维护,当然涨工资是想也不要想。
    idragonet
        25
    idragonet  
       2024-07-22 20:35:55 +08:00
    GPT 处理就行了。
    Irisxx
        26
    Irisxx  
    OP
       2024-07-22 20:42:32 +08:00 via iPhone
    @so2back 这个页面是个列表,不是只有主材,辅材,我要遍历这个对象所有 Key ,自己重新组装成数组,上面评论的时候忘了这是在工作环境,不是下了班慢悠悠写适配,上面也是每周都催进度的,这是上百个接口里的第一个而已,如果每个接口都因为不规范本地写方法适配,我的进度也会被拖。
    Irisxx
        27
    Irisxx  
    OP
       2024-07-22 20:45:02 +08:00 via iPhone
    @Meteora626 没有文档,写完了一个,出个接口文档,我说过先定义结构,再写功能。但人微言轻
    timeflies2020
        28
    timeflies2020  
       2024-07-22 20:46:56 +08:00
    像是刚入行的人写的一样
    xiangyuecn
        29
    xiangyuecn  
       2024-07-22 20:51:54 +08:00
    这代码至少是成功运行了 问题不大😂
    DOLLOR
        30
    DOLLOR  
       2024-07-22 21:12:49 +08:00   ❤️ 2
    Object.keys()
    Object.values()
    Object.entries()
    Object.fromEntries()
    JS 的这四个函数,我称之为对付某些后端菜鸟返回的畸形数据结构的法宝😎
    chuck1in
        31
    chuck1in  
       2024-07-22 21:18:04 +08:00
    话说这公司加班吗,团队估计不大吧。
    Irisxx
        32
    Irisxx  
    OP
       2024-07-22 21:24:40 +08:00   ❤️ 1
    @chuck1in 团队不大,看中实体行业稳定点,公司本身还行的,只要进度够,也不咋加班,降了 1 万过来应急的。
    leedef703777
        33
    leedef703777  
       2024-07-22 21:24:46 +08:00
    php 写出来的正常,java 写出来我的我是没想到的
    leedef703777
        34
    leedef703777  
       2024-07-22 21:25:37 +08:00
    淡定,其实问题不大,只要格式不变,类型不变都不算啥问题
    Irisxx
        35
    Irisxx  
    OP
       2024-07-22 21:29:38 +08:00
    @leedef703777 带佬说的对,其实一个 flatMap 也能搞定,只是把我对这个团队的期待值拉低了。
    hoythan
        36
    hoythan  
       2024-07-22 21:43:54 +08:00
    如果固定 0 是主材 1 是辅材的话完全没问题,如果后面是 12345....的列表才有问题。
    Irisxx
        37
    Irisxx  
    OP
       2024-07-22 21:47:38 +08:00 via iPhone
    @hoythan 当然是列表啦。
    kakki
        38
    kakki  
       2024-07-22 22:13:39 +08:00
    "0"
    0
    只能说 6
    iOCZS
        39
    iOCZS  
       2024-07-22 22:14:54 +08:00
    看起来是 MongoDB 啊
    WhateverYouLike
        40
    WhateverYouLike  
       2024-07-22 22:49:43 +08:00 via iPhone
    笑死我了,发自内心的快乐。你终于体会到我的感受了,跟我对接的后端数据结构特别烂,偶尔也会出现这样的结构,后端是不是 python 呢
    WhateverYouLike
        41
    WhateverYouLike  
       2024-07-22 22:55:41 +08:00 via iPhone   ❤️ 1
    而且呢,通常伴随着的还有:1.参数校验你不 push 他就不做。 2.后端自己能查到的状态硬要前端传,每次都拿“容易产生脏数据”跟他据理力争。3.总是反回来奇形怪状损人不利己的结构要前端转来转去的。
    lucasj
        42
    lucasj  
       2024-07-22 23:04:04 +08:00
    很多人只是混口饭吃,没什么技术追求。现在这环境也没什么好挑剔的了。“凑合着过呗,还能离咋地。”
    bxb100
        43
    bxb100  
       2024-07-23 00:03:00 +08:00 via Android
    看页面的话这个 0 1 不像是索引,反而像枚举值
    diagnostics
        44
    diagnostics  
       2024-07-23 00:24:35 +08:00
    也很大可能是 JSON 序列化的锅...
    VictorFrank1
        45
    VictorFrank1  
       2024-07-23 09:20:27 +08:00
    链家吗?这占位图的 logo 很像哈哈
    geligaoli
        46
    geligaoli  
       2024-07-23 09:23:09 +08:00   ❤️ 1
    你这还没遇到“动态汉字字段名”的情况呢
    yangjirun
        47
    yangjirun  
       2024-07-23 09:31:56 +08:00
    有啥数据不能解决的。 直接 map 分割就好了
    mtjgu
        48
    mtjgu  
       2024-07-23 09:33:43 +08:00
    我遇到过这种列表给对象的 是 python 后台 没事就把 RESTful 挂嘴边 哈哈 其他老哥都没这样
    sSsSsSs
        49
    sSsSsSs  
       2024-07-23 09:38:52 +08:00
    @mtjgu python 、php 、go ,都很喜欢把 restful 挂嘴边。
    wumou
        50
    wumou  
       2024-07-23 09:42:29 +08:00
    0,1 是 skuid 吗
    zek
        51
    zek  
       2024-07-23 09:46:11 +08:00
    别动不动脑溢血,商量一下,让后端改一下,本来大家做事都图自己方便,你不说谁管你啊
    QlanQ
        52
    QlanQ  
       2024-07-23 09:48:43 +08:00   ❤️ 1
    @renmu 你这就是瞎黑了,就这命名都能看出来是 Java
    finolaire
        53
    finolaire  
       2024-07-23 09:50:53 +08:00
    我已经联系你们公司,把你的问题投诉到你们官网公司客服了,应该很快就会处理你们公司的后台。
    hjw45611
        54
    hjw45611  
       2024-07-23 09:53:47 +08:00
    大家都写屎一样的代码,增加换人成本,增加维护成本,这样才不好裁人
    tinyzilan123
        55
    tinyzilan123  
       2024-07-23 09:57:39 +08:00
    @QlanQ php 的 array 很容易出现这样的情况,一个纯数组 array ,将其中一个元素移除掉不做继续处理的话,就会退化成这种 0, 1 作为 key 的 map
    bjy1
        56
    bjy1  
       2024-07-23 09:59:58 +08:00
    感觉是什么工具生成的
    183387594
        57
    183387594  
       2024-07-23 10:00:05 +08:00
    @finolaire 出院
    QlanQ
        58
    QlanQ  
       2024-07-23 10:00:46 +08:00
    @tinyzilan123 是的 php 容易出现这样的问题,但是哪种语言都会容易出现这样的问题,php 的主要是 如果是 空对象,json 之后 返回的是 [],原本应该是{}
    php 的命名 一般 采用 quota_id 多一些,这种 这么整齐的 驼峰,肯定是 Java 框架的产出
    Geon97
        59
    Geon97  
       2024-07-23 10:02:04 +08:00
    直接拿的数据库里的数据吧,没有做处理直接给前端了哈哈哈
    weixind
        60
    weixind  
       2024-07-23 10:02:42 +08:00
    其实这也是机会,考核的时候又可以多一条绩效:建立前后端接口规范,降低维护成本,提升 xx%开发效率,减少 xx% bug 。
    lrh3321
        61
    lrh3321  
       2024-07-23 10:04:47 +08:00
    也不是不能用
    weixind
        62
    weixind  
       2024-07-23 10:10:06 +08:00
    @Irisxx #26 在这种你必对的事情上要强势,才能扩大团队影响力。你强势一点,在团队内的话语权就多一点。后续好绩效晋升才会想到你。有人的地方就有政治。程序员不要光想着写好代码就完事了。
    yveJohn
        63
    yveJohn  
       2024-07-23 10:11:14 +08:00
    图片怎么 404 了,还想见识一下呢
    lingeo
        64
    lingeo  
       2024-07-23 10:13:32 +08:00
    0/1 是不是大类?有没有可能是后端定义了常量?
    YienX
        65
    YienX  
       2024-07-23 10:18:03 +08:00   ❤️ 16
    Xbathy
        66
    Xbathy  
       2024-07-23 10:21:00 +08:00
    看不到图片急死我了..
    wdold
        67
    wdold  
       2024-07-23 10:33:56 +08:00
    我以为只有我看不到图
    0NGNLLLer0
        68
    0NGNLLLer0  
       2024-07-23 10:35:49 +08:00
    我图呢 急!🤣
    DyingSwan
        69
    DyingSwan  
       2024-07-23 10:39:13 +08:00
    我看不到图啊啊啊啊啊啊
    chanlk
        70
    chanlk  
       2024-07-23 10:42:48 +08:00
    看不到图片急死我了..
    panweishadow
        71
    panweishadow  
       2024-07-23 10:43:58 +08:00
    为啥看不到图
    codersun123
        72
    codersun123  
       2024-07-23 10:45:12 +08:00
    为了看图我还切换了好几个代理,还是 404
    lasuar
        73
    lasuar  
       2024-07-23 10:49:14 +08:00
    楼主故意把图删了,随机急死几位观众
    soulmine
        74
    soulmine  
       2024-07-23 10:51:36 +08:00
    不是 我图图呢
    liahu
        75
    liahu  
       2024-07-23 10:53:07 +08:00
    图呢?🤨
    yestodayHadRain
        76
    yestodayHadRain  
       2024-07-23 10:54:18 +08:00
    图挂了,快给看一眼
    shenqi
        77
    shenqi  
       2024-07-23 11:03:22 +08:00
    图呢?
    shenqi
        78
    shenqi  
       2024-07-23 11:03:31 +08:00
    图呢?好烦人啊
    492
        79
    492  
       2024-07-23 11:05:45 +08:00
    我图呢??!?!?!
    Rache1
        80
    Rache1  
       2024-07-23 11:06:02 +08:00
    @QlanQ #58 你这就说的不对了,

    如果是编码,你只要传的是对象,那结果就必然会是空对象。

    如果解码,当你 json_decode 传入第二个参数为 true 的时候,他就会把 json 全部解码成数组,如果这时候有一个空对象,就会被解码成空数组,这样当你再使用 json_encode 编码的时候,空对象就会变成空数组了,但造成这个问题的原因还是在于你惯性的传递了 true 到 json_decode 的第二个参数。

    https://3v4l.org/LgAdE
    kemo
        81
    kemo  
       2024-07-23 11:06:32 +08:00
    又不是不能用 这么矫情干嘛
    yusf
        82
    yusf  
       2024-07-23 11:11:29 +08:00
    图挂了,在发下,看不到很急
    oneisall8955
        83
    oneisall8955  
       2024-07-23 11:14:26 +08:00
    图挂了,快给看一眼
    weixind
        84
    weixind  
       2024-07-23 11:20:22 +08:00   ❤️ 4
    哈哈哈哈哈。楼主应该是不想关键信息泄露。去除关键字信息的结构类似:
    QlanQ
        85
    QlanQ  
       2024-07-23 11:21:27 +08:00
    @Rache1 嗯,说错了,不是空对象,是关联数组,如果是关联数组,返回给前端的应该是{k:v},但是如果这个关联数组是空的,那返回的就是[]了。空对象应该是针对前端来说的
    Rache1
        86
    Rache1  
       2024-07-23 11:54:34 +08:00
    @QlanQ #85 这种情况确实有,因为在没有填充的时候,没法确定应该是空数组还是空对象了 需要明确一下才行。
    Pony69
        87
    Pony69  
       2024-07-23 12:14:51 +08:00
    图呢?
    freezebreze
        88
    freezebreze  
       2024-07-23 13:34:14 +08:00
    {'主材' : [ {}.....], '废材' : [{}....]}
    lDqe4OE6iOEUQNM7
        89
    lDqe4OE6iOEUQNM7  
       2024-07-23 14:13:17 +08:00
    const result = Object.keys(info.something).map(key => {
    return info.something[key];
    }).flat();

    console.log(result);
    // 输出: [ { id: '0', name: 'name0' }, { id: '1', name: 'name1' } ]
    elevioux
        90
    elevioux  
       2024-07-23 15:07:21 +08:00
    php 索引数组 json_encode 会成 json 列表的,除非键值不连续。
    kamilic
        91
    kamilic  
       2024-07-23 15:13:36 +08:00
    php ?看多了都懒得吐槽 :-),只能辅导一下后端不要传不连续的索引
    vk4LNh8gE08SBd9V
        92
    vk4LNh8gE08SBd9V  
       2024-07-23 15:30:47 +08:00
    图呢 草
    7gugu
        93
    7gugu  
       2024-07-23 16:28:41 +08:00
    图裂了,我还纳闷究竟是啥数据结构
    Webpoplayer
        94
    Webpoplayer  
       2024-07-23 16:31:35 +08:00
    我怀疑过浏览器,怀疑过插件,怀疑过 t 子,我甚至怀疑过电信,就算没有怀疑 op,反复刷新,换浏览器,停插件...
    poorcai
        95
    poorcai  
       2024-07-23 20:45:04 +08:00
    看不到图了,我好难受
    CEBBCAT
        96
    CEBBCAT  
       2024-07-25 22:33:34 +08:00
    问题问完把图删了?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5147 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 09:34 · PVG 17:34 · LAX 02:34 · JFK 05:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.