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

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

  •  3
     
  •   Irisxx · 153 天前 · 14162 次点击
    这是一个创建于 153 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    https://3v4l.org/LgAdE
    kemo
        81
    kemo  
       152 天前
    又不是不能用 这么矫情干嘛
    zdw189803631
        82
    zdw189803631  
       152 天前
    图挂了,在发下,看不到很急
    oneisall8955
        83
    oneisall8955  
       152 天前
    图挂了,快给看一眼
    weixind
        84
    weixind  
       152 天前   ❤️ 4
    哈哈哈哈哈。楼主应该是不想关键信息泄露。去除关键字信息的结构类似:
    QlanQ
        85
    QlanQ  
       152 天前
    @Rache1 嗯,说错了,不是空对象,是关联数组,如果是关联数组,返回给前端的应该是{k:v},但是如果这个关联数组是空的,那返回的就是[]了。空对象应该是针对前端来说的
    Rache1
        86
    Rache1  
       152 天前
    @QlanQ #85 这种情况确实有,因为在没有填充的时候,没法确定应该是空数组还是空对象了 需要明确一下才行。
    Pony69
        87
    Pony69  
       152 天前
    图呢?
    freezebreze
        88
    freezebreze  
       152 天前
    {'主材' : [ {}.....], '废材' : [{}....]}
    lDqe4OE6iOEUQNM7
        89
    lDqe4OE6iOEUQNM7  
       152 天前
    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  
       152 天前
    php 索引数组 json_encode 会成 json 列表的,除非键值不连续。
    kamilic
        91
    kamilic  
       152 天前
    php ?看多了都懒得吐槽 :-),只能辅导一下后端不要传不连续的索引
    com781517552
        92
    com781517552  
       152 天前
    图呢 草
    7gugu
        93
    7gugu  
       152 天前
    图裂了,我还纳闷究竟是啥数据结构
    Webpoplayer
        94
    Webpoplayer  
       152 天前
    我怀疑过浏览器,怀疑过插件,怀疑过 t 子,我甚至怀疑过电信,就算没有怀疑 op,反复刷新,换浏览器,停插件...
    poorcai
        95
    poorcai  
       151 天前
    看不到图了,我好难受
    CEBBCAT
        96
    CEBBCAT  
       149 天前
    问题问完把图删了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2577 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:22 · PVG 18:22 · LAX 02:22 · JFK 05:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.