V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HackerPainter
V2EX  ›  程序员

和主管为一个接口输出真吵了一天,搞得都想离职,求怎么破

  •  
  •   HackerPainter · 2019-03-19 11:10:18 +08:00 · 36470 次点击
    这是一个创建于 1837 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主管想用的接口输出

    {
      "status" : "错误码",
      "error" : "错误消息",
      ......
    }
    

    楼主想用的接口输出

    {
      "errorCode": "错误码",
      "errorMsg" : "错误消息",
      ......
    }
    

    我在想一个接口至于争吵一天吗?最后我妥协了,现在感觉好想离职,请问怎么破

    第 1 条附言  ·  2019-03-20 21:47:08 +08:00

    首先非常感谢各位社友的回复和讨论,在看各位社友的评论中学到了很多东西,果然三人行必有我师焉!

    • 社区有些社友可能认为这种接口争吵没啥意义,随便定义一个就行,但如果这个接口被几千人使用甚至被几万人使用,那就得对这个接口好好设计了。如果连自己都对自己提供的接口不保持敬畏,那就别指望用户对你提供的接口保持敬畏,对于用户的抱怨牢骚那只能全部接下。过去几年里很多用户对我们提供的接口出现过各种各样的抱怨(每个用户都有一套自己心目中的接口,就像社区内留言出现很多接口定义),如果接口提供方的接口与接口使用方心目中的接口不一样就会出现或多或少有抱怨和吐槽。为了尽量让用户用的爽,减少用户的抱怨,所以就和主管对接口进行了争吵(善意的争吵),至于想离职是其它方面的原因;

    • 有些社友可能认为和主管争吵不太好,主管想做成什么样自己就做成什么样。但你真认为这种状态好吗?即使你照做了,你觉得主管认可你吗?在互联网环境下,得多与主管、同事讨论讨论问题,有些难解的问题就是在讨论中产出解决方案的。过去几年和主管同事争吵过无数次甚至拍桌子,差点打起来,但这种都是idea的碰撞,只有碰撞中才能产出好的idea,其实碰撞完后同事主管都会私下交流这个都是各自想法,不代表其他含义,不要往心里去。对于主管要你做啥你就做啥,那主管招你有何用,主管可以招任何一个人来替换你,这样你的自身竞争力在哪里。一个程序员要往高处发展,要学会自己去发现问题去解决问题,而不是等待主管安排问题,比如主管交给你一个手工线上部署任务(需要经常部署),结果你每次都可以手工无故障的部署完成,但这种结果是主管希望的吗,主管再找一个人也可以无故障的手工部署,但如果你把手工线上部署做成自动化工具一键部署,可以节约时间且无风险,这样在主管看来你就是不可替代,能自己对问题提出解决方案;

    • 程序之美应该包含编程之美、接口之美和测试之美。如果有一段程序编程无规范、接口随便定义,无单测和功能测试,让你去接手这段代码,你会怎么想?所以还是对接口保持敬畏之心,多花点时间定义接口,少花点时间答疑和听用户的抱怨;

    下面各出了很多社友的接口定义,可以供借鉴,排名不分先后,可以投票😄

    {
        "code": "错误码",
        "message": "错误消息"
    }
    
    {
        "errno" : "错误码",
        "message" : "错误消息"
    }
    
    {
        "status": "错误码",
        "error": "错误消息"
    }
    
    {
        "status": "错误码",
        "msg": "错误消息"
    }
    
    {
        "errKey": "错误码",
        "errMsg": "错误消息"
    }
    
    {
        "status": "错误码",
        "error": "错误消息",
        "errorCode": "错误码",
        "errorMsg": "错误消息"
    }
    
    {
        "statusCode": "错误码",
        "statusMsg": "错误消息"
    }
    
    {
        "error_code": "错误码",
        "error_msg": "错误消息"
    }
    
    436 条回复    2020-12-01 11:05:06 +08:00
    1  2  3  4  5  
    beiyu
        401
    beiyu  
       2019-03-20 12:47:47 +08:00   ❤️ 3
    我的天,近期 v2 上 400+的尽然是这个问题贴。
    wiix
        402
    wiix  
       2019-03-20 13:01:52 +08:00
    @tiaod 划水一时爽,一直划水一直爽
    mobaui
        403
    mobaui  
       2019-03-20 13:25:23 +08:00
    我大概懂了 v 社的人的喜欢,后面我也更新一个类似的帖子
    guanhui07
        404
    guanhui07  
       2019-03-20 13:30:25 +08:00
    老大说怎么弄,我就怎么弄,官大一级压死人
    babamiya777
        405
    babamiya777  
       2019-03-20 13:37:11 +08:00
    这主管好,把上司怼了,人家既不开你也没穿小鞋,就知足吧,公事公办,表太傲娇了。
    a398058068
        406
    a398058068  
       2019-03-20 13:56:04 +08:00
    为啥 http 的状态叫 HTTP Status。而不叫 HTTP ErrStatus
    eret9616
        407
    eret9616  
       2019-03-20 13:58:39 +08:00   ❤️ 1
    主管有问题啊 没把你开除 还耐心的教你
    HackerPainter
        408
    HackerPainter  
    OP
       2019-03-20 14:03:07 +08:00
    @eret9616 主管还可以吧,不对怂的话,主管会觉得你没有想法,主管安排啥事就做啥事;怂的话,至少有想法,所以还是得怂
    yatlong
        409
    yatlong  
       2019-03-20 14:17:33 +08:00
    @a398058068 HTTP Status 有成功的状态码,而他这个只有 error
    mydns
        410
    mydns  
       2019-03-20 14:46:05 +08:00
    我的天,看来大家的工作量都很少,那今晚加个班吧
    kevinlm
        411
    kevinlm  
       2019-03-20 14:51:43 +08:00
    你这个就不错了。
    接的外包,Php 给写的接口,成功 data:{} 失败 data:[]
    wangxiaoaer
        412
    wangxiaoaer  
       2019-03-20 15:04:24 +08:00
    来来来,见识一下我们遇到的返回结果:

    ![]( )
    spiderMark
        413
    spiderMark  
       2019-03-20 15:17:13 +08:00 via iPhone
    小写 比 大写的 前端调用 比较好写 键盘上 不用切换大小写
    xming
        414
    xming  
       2019-03-20 15:29:10 +08:00
    无语
    chenyu0532
        415
    chenyu0532  
       2019-03-20 15:32:35 +08:00
    暂时性忙完了。。过来灌个水。。话说 这都能吵一天。。你们好闲。。
    lscho
        416
    lscho  
       2019-03-20 17:14:25 +08:00
    离职吧,心疼你的主管,最怕遇到这么倔的员工
    ifu25
        417
    ifu25  
       2019-03-20 17:32:25 +08:00 via Android
    场景不是很清楚,要我的话也会选择主管的方案,api 返回对象三个属性! code,msg,data
    quadrapop
        418
    quadrapop  
       2019-03-20 17:52:39 +08:00
    {
    "status" : "状态码",
    "msg" : "消息",
    ......
    }
    Scarborough
        419
    Scarborough  
       2019-03-20 17:54:57 +08:00
    这都能玩一天牛掰
    zhengwhizz
        420
    zhengwhizz  
       2019-03-20 18:08:55 +08:00 via Android
    先不说谁的合适,就事上来说,做为主管,这种小事扯一天,下属都管不住,严重失职。规则定下,下属可以有想法,但接不接受主管说了算,那怕主管是错的,下属依旧要遵照执行,不执行就走人。做为下属,上边说啥做啥,这种小事纯粹闲的蛋疼才会扯一天。如果我是主管,你走人;如果我是主管的上司,主管走人,你走人。另外从设计上来说,主管的更通用,你现在是不用处理成功的返回,保不齐哪天就要成功也返回状态码。不过我更建议错误直接返回 http 的状态码,这样接口调用直接 catch。
    shileiye
        421
    shileiye  
       2019-03-20 18:41:01 +08:00
    明明只需要 code 和 msg···非得闹成这样···果然扯蛋··
    huobazi
        422
    huobazi  
       2019-03-20 18:53:35 +08:00   ❤️ 1
    你俩都该走人
    junjieyuanxiling
        423
    junjieyuanxiling  
       2019-03-20 18:58:27 +08:00 via Android
    你们主管不会是喜欢你吧……
    markmx
        424
    markmx  
       2019-03-20 18:59:32 +08:00
    感觉你俩说的不是一件事情!

    一个是 表示 是否出错,
    一个是 说明 出错原因
    shijianit
        425
    shijianit  
       2019-03-20 19:02:56 +08:00
    我觉得主管的比较正确
    status 不一定是代表错误码,里面也会有正确码和其他状态
    errorCode 就比较局限了,首先名字上面定义就是错误码
    yiqidaoshan
        426
    yiqidaoshan  
       2019-03-20 19:06:37 +08:00
    叫 errorCode 和 errorMsg 摆明了是正常的请求不返回了,最烦这种数据结构是动态的了。code 和 msg+1
    gbin
        427
    gbin  
       2019-03-20 19:07:38 +08:00 via Android
    我选 HTTP 状态码,严格遵守 RESTful
    kaiwkx
        428
    kaiwkx  
       2019-03-20 19:24:21 +08:00 via Android
    你的做法比你主管的对一点。

    restful API 用 status 字段,以 http 状态码表示接口请求状态,所以 status 都应该是 http 状态码。外部约定的错误码用 code。status 和 code 分开用是最好的。
    scipio
        429
    scipio  
       2019-03-20 19:29:07 +08:00
    我抱着极大的兴趣进来看是什么问题能吵成这样,原谅我看到题目描述时真的是喷了
    catalina
        430
    catalina  
       2019-03-20 19:52:41 +08:00 via Android
    你赢了,一下子拿到了这么多铜币
    bao3
        431
    bao3  
       2019-03-20 19:59:45 +08:00 via iPhone
    为什么我觉得主管是对的……
    xiangyuecn
        432
    xiangyuecn  
       2019-03-20 20:13:17 +08:00
    这帖子火了,我来配幅漫画,坐稳了:

    --------

    刚学 x m l http request
    √|没错呀|text 数据
    ×|错误信息|text 数据

    --------

    知道了 a j a x 专业名词
    [true,"没错呀","text 数据"]
    [false,"错误信息","text 数据"]

    ---------

    一年后
    {
    "errorCode": "错误码",
    "errorMsg" : "错误消息",
    ......
    }

    ---------

    当上主管后
    {
    "status" : "错误码",
    "error" : "错误消息",
    ......
    }

    ---------

    结局
    {c:503,m:"你想多了"}
    webjin1
        433
    webjin1  
       2019-03-20 21:13:34 +08:00 via Android
    楼主应该是有强迫症和洁癖
    xuanwu
        434
    xuanwu  
       2019-03-21 02:27:01 +08:00
    直接用中文?
    {
    "错误码": 某码,
    "错误消息": 某消息
    }
    alexskky
        435
    alexskky  
       2019-03-21 13:33:31 +08:00
    code+msg
    cocoq
        436
    cocoq  
       2020-12-01 11:05:06 +08:00
    @ghos 我们和你的类似
    1  2  3  4  5  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2877 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.