我发现了一个编程天才 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tinycold
V2EX    程序员

我发现了一个编程天才

  •  1
     
  •   tinycold 2018-11-09 17:35:53 +08:00 via Android 15216 次点击
    这是一个创建于 2552 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果接口返回一个键值表示『是』或者『否』,
    一般人会用 Bool 类型,
    今天偶然发现个接口,返回的 json:

    {
    "isComfirmed": ""
    }

    一开始还没明白啥意思,最后也是想了半天才懂…
    真他娘的是个天才
    第 1 条附言    2018-11-10 00:47:34 +08:00
    再分享一个亲身亲眼目睹的大神。

    第一个实习的小公司,有个接口老是 Timeout,我就去问问后端,什么情况。结果这老哥理直气壮地告诉我,

    没有东西呀,我怎么返回?!
    我拿什么返回给你?!
    75 条回复    2018-11-14 10:34:00 +08:00
    Luckyray
        1
    Luckyray  
       2018-11-09 17:37:50 +08:00   1
    哈哈哈哈,不对的返回吗?
    Deville
        2
    Deville  
       2018-11-09 17:38:34 +08:00
    大佬大佬,哈哈哈哈
    specita
        3
    specita  
       2018-11-09 17:39:03 +08:00
    一目了然
    Mac
        4
    Mac  
       2018-11-09 17:40:04 +08:00 via Android
    简单明了,而且返回否还能省一个字节,满分
    feverzsj
        5
    feverzsj  
       2018-11-09 17:40:48 +08:00
    github 不都是这样的?
    hundan
        6
    hundan  
       2018-11-09 17:42:20 +08:00 via Android
    感觉在哪见过相关可行性讨论
    springmarker
        7
    springmarker  
       2018-11-09 17:42:29 +08:00 via Android   1
    Github 和 gitlab 也是
    ruixingchen
        8
    ruixingchen  
       2018-11-09 17:43:49 +08:00 via iPhone   21
    鬼才代码,哈哈,可以用 emoji 作为状态
    commit:
    error:♂
    kkkkkrua
        9
    kkkkkrua  
       2018-11-09 17:56:45 +08:00   2
    不是 confirm 吗。。
    hhhsuan
        10
    hhhsuan  
       2018-11-09 17:58:29 +08:00 via Android
    这有啥天才的,这么用的网站多了去了
    ksaa0096329
        11
    ksaa0096329  
       2018-11-09 18:16:13 +08:00   1
    @hhhsuan 能不能举个例子,还真没见过,正常都是返回 boolean(true, false)
    ShadowAble
        12
    ShadowAble  
       2018-11-09 18:17:41 +08:00   1
    6666
    starsky007
        13
    starsky007  
       2018-11-09 18:17:58 +08:00 via Android
    也许人家是为了方便视图层无需转换就直接显示而故意这么干的
    MeteorCat
      &nbp; 14
    MeteorCat  
       2018-11-09 18:18:58 +08:00 via Android
    @ruixingchen 笑尿
    xpresslink
        15
    xpresslink  
       2018-11-09 18:19:37 +08:00
    没有太明白,这个有什么很新奇的么?我一般直接用 1/0
    这个只是个习惯问题而已吧。
    crab
        16
    crab  
       2018-11-09 18:20:47 +08:00
    @Mac 0 不是更好
    cdwyd
        17
    cdwyd  
       2018-11-09 18:42:14 +08:00 via Android
    不觉得好啊,判断的时候还要 isComfirmed==√
    本来直接 isComfirmed 就可以的
    xivisi
        18
    xivisi  
       2018-11-09 19:05:15 +08:00
    要我说,用 text 什么鬼,全用二进制 http2
    lance6716
        19
    lance6716  
       2018-11-09 19:12:09 +08:00 via Android
    @springmarker 那是因为直接判断 UTF 吧
    glues
        20
    glues  
       2018-11-09 19:24:19 +08:00 via iPhone   1
    rails 框架就是这么用的,所以你在 github gitlab 能看到这种参数
    glues
        21
    glues  
       2018-11-09 19:25:17 +08:00 via iPhone
    注意:这个对号不是 emoji
    PythonAnswer
        22
    PythonAnswer  
       2018-11-09 19:52:50 +08:00 via iPhone
    对号是 unicode 文本
    azh7138m
        23
    azh7138m  
       2018-11-09 19:54:06 +08:00 via Android
    @glues emoji 就是个字符啊,怎么就不是 emoji 了
    shansing
        24
    shansing  
       2018-11-09 19:58:48 +08:00   1
    @azh7138m emoji 的对号是
    absente
        25
    absente  
       2018-11-09 20:25:44 +08:00
    中文编程?
    stephen9357
        26
    stephen9357  
       2018-11-09 20:27:19 +08:00
    可以的,确认过代码,是大佬
    qilishasha
        27
    qilishasha  
       2018-11-09 20:33:25 +08:00
    没毛病
    fuyufjh
        28
    fuyufjh  
       2018-11-09 20:39:59 +08:00
    @springmarker 那个是放在 url 里,勉强说得过去。放 JSON 就很奇怪了,毕竟 JSON 原生支持 boolean 的
    SsuchingYu
        29
    SsuchingYu  
       2018-11-09 20:54:09 +08:00
    弱弱地问一下,V 站如何输入表情?
    wbt
        30
    wbt  
       2018-11-09 20:55:12 +08:00 via Android
    opengps
        31
    opengps  
       2018-11-09 20:57:25 +08:00 via Android
    gmywq0392
        32
    gmywq0392  
       2018-11-09 20:57:50 +08:00
    大佬眼里 26 字母都太少了
    zzlettle
        33
    zzlettle  
       2018-11-09 21:49:33 +08:00
    我是没看懂,当然我能力差
    有 people 能解释下的吗?
    anonymous256
        34
    anonymous256  
       2018-11-09 21:59:02 +08:00 via Android   8
    "isComfirmed":
    "isComfirmed":
    "isComfirmed":
    "isComfirmed":
    "isComfirmed":
    "isComfirmed":

    那么问题来了,当多个程序员一起协助,如何不打起来并且保持项目内部的一致性?
    lrh3321
        35
    lrh3321  
       2018-11-09 21:59:57 +08:00 via Android
    这么干的还挺多的。
    anonymous256
        36
    anonymous256  
       2018-11-09 22:00:37 +08:00 via Android
    @anonymous256 #34 更正“协助”为“协作”
    wolfie
        37
    wolfie  
       2018-11-09 22:02:37 +08:00
    @anonymous256 #34
    大概就是维护一个方法吧
    leekafai
        38
    leekafai  
       2018-11-09 22:56:13 +08:00 via Android
    不 comfirmed 的话连这个键都不给,让前端直接 if
    Tink
        39
    Tink  
    PRO
       2018-11-09 22:57:22 +08:00
    貌似没毛病
    wdlth
        40
    wdlth  
       2018-11-09 23:42:14 +08:00   2
    "isDeleted":
    815979670
        41
    815979670  
       2018-11-09 23:58:23 +08:00 via Android
    成功返回数据 失败返回空 我一直是这样
    thet
        42
    thet  
       2018-11-09 23:59:23 +08:00 via Android
    changwei
        43
    changwei  
       2018-11-10 00:02:50 +08:00 via Android
    @Mac 根本没有节省啊,bool 是一个位,√和×是 unicode,utf-8 编码下好像是占三个字节?
    GGGG430
        44
    GGGG430  
       2018-11-10 00:06:19 +08:00 via iPhone
    其实返回 0/1,比返回 bool 更好
    seakingii
        45
    seakingii  
       2018-11-10 00:15:55 +08:00
    如果前端不用再处理数据,直接绑定到视图的话,也说的过去啊.
    v2dead
        46
    v2dead  
       2018-11-10 00:37:11 +08:00
    @changwei 太年轻了,json 传输是字符串,即使对应的是 bool 也是'f' 'a' 'l' 's' 'e'。
    tonylau
        47
    tonylau  
       2018-11-10 00:50:58 +08:00 via Android
    同 45 楼,如果站在前端角度考虑,说得过去
    hnbcinfo
        48
    hnbcinfo  
       2018-11-10 01:02:40 +08:00
    就凭你“想了半天才懂…”,说明,你悟性不够,修炼道路估计也就到此为止了,已经不可能突破码农,晋升编程天才了!
    JasonTsang
        49
    JasonTsang  
       2018-11-10 05:34:33 +08:00
    新技能 √GET
    watzds
        50
    watzds  
       2018-11-10 07:50:25 +08:00 via Android
    厉害啊,他这是 block 接口,blocking queue 的 take
    ragnaroks
        51
    ragnaroks  
       2018-11-10 08:58:07 +08:00
    '0f'/'1t'
    MOmc
        52
    MOmc  
       2018-11-10 10:57:41 +08:00
    /
    ashanyue88
        53
    ashanyue88  
       2018-11-10 11:07:50 +08:00
    Shadas
        54
    Shadas  
       2018-11-10 11:36:49 +08:00
    @anonymous256 当然是定义常量以及封装一个判断不同表情的方法啦 XD
    fox0001
        55
    fox0001  
       2018-11-10 11:39:00 +08:00 via Android
    哈哈哈哈
    KgM4gLtF0shViDH3
        56
    KgM4gLtF0shViDH3  
       2018-11-10 12:15:58 +08:00 via iPhone
    encro
        57
    encro  
       2018-11-10 13:22:21 +08:00
    我只知道 0,1 肯定比这个容易打出来,
    存数据库也是 bool 或者 int 类型相对 char 或者 varchar 更省
    用的时候也更容易 if accept do something
    vamxmen
        58
    vamxmen  
       2018-11-10 13:38:39 +08:00
    哈哈哈,这样多易读啊,哪天能发明个萌代码、萌语言多好。。
    lneoi
        59
    lneoi  
       2018-11-10 14:06:05 +08:00
    可以可以 很直观
    codehz
        60
    codehz  
      nbsp;2018-11-10 15:41:02 +08:00   2
    @feverzsj #5
    @springmarker #7
    Github 用这个符号是为了让 IE11 用 UTF8 的格式发送 url。。。。stackoverflow 上有相关讨论
    iDelicious
        61
    iDelicious  
       2018-11-10 16:01:16 +08:00
    hhhhhhhhhh
    001kh
        62
    001kh  
       2018-11-10 16:42:36 +08:00
    @GGGG430 10 年前就这么干的.
    valorachen
        63
    valorachen  
       2018-11-10 16:56:29 +08:00 via Android
    @ruixingchen 哈哈哈哈哈!头都被你笑掉了
    jmk92
        64
    jmk92  
       2018-11-10 17:14:12 +08:00 via iPhone
    用批量替换工具,一键全部给他替换了,坐等他找你。
    wingpui
        65
    wingpui  
       2018-11-10 20:36:37 +08:00
    哈哈哈哈~~~被你们的表情笑死了
    前几天还看到一个用多开线程,按休眠时间排序数组的高手呢
    genel
        66
    genel  
       2018-11-10 20:44:44 +08:00
    CEBBCAT
        67
    CEBBCAT  
       2018-11-10 20:45:54 +08:00 via Android
    @wingpui 睡排序,是大佬
    btcjp
        68
    btcjp  
       2018-11-10 23:20:36 +08:00
    非常赞同这个接口返回
    YzSama
        69
    YzSama  
       2018-11-10 23:46:14 +08:00 via iPad
    我还见过 true : no,false: yes。。这样的设计
    doun
        70
    doun  
       2018-11-11 00:08:08 +08:00 via Android
    rails 早就默认这样了
    kenshinhu
        71
    kenshinhu  
       2018-11-11 00:25:52 +08:00
    这样会被前端打死吗
    ACSuperChen
        72
    ACSuperChen  
       2018-11-11 09:07:34 +08:00
    确认过眼神,是个大佬
    dengshen
        73
    dengshen  
       2018-11-11 12:45:45 +08:00 via iPhone
    @815979670 有数据 {obj:{}} 无数据{obj:""} 是这样返回吗?
    815979670
        74
    815979670  
       2018-11-12 07:42:10 +08:00 via Android
    @dengshen 不不不 有数据就返回对应的数据,无数据 响应的内容是空,就是什么都没有
    xyjincan
        75
    xyjincan  
       2018-11-14 10:34:00 +08:00
    前端直接显示,没毛病
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1507 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 16:38 PVG 00:38 LAX 08:38 JFK 11:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86