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

这应该是 “将错就错 ”的典型例子,很好奇前期居然没人发现,逼死强迫症

  •  
  •   odirus · 2018-02-03 18:03:28 +08:00 · 2911 次点击
    这是一个创建于 2463 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天在对接微信支付的提现功能,发现返回状态中有一个扎眼的类型:RFUND_ING (为什么不是 REFUND_ING 呢?)

    因为不确只是文档错了,还是接口本来就返回这个状态,有点担心后期程序会出现 BUG。但这个状态很难捕捉,因为从 "退款中 -> 退款成功" 之间的间隙很短,调试阶段基本复现不了。

    所以只能去看别人的代码,然后确定微信支付返回的状态 RFUND_ING 没写错,虚惊一场

    这个应该就是典型的 将错就错 例子了吧?

    文档地址: https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_6&index=5

    分享出来,避免以后采坑,主要是因为这个功能是对接支付系统,涉及到钱,稍后不慎就后患无穷。

    8 条回复    2018-02-04 09:19:54 +08:00
    orangeade
        1
    orangeade  
       2018-02-03 18:11:26 +08:00 via Android   ❤️ 1
    看标题就想到了 HTTP 的 referer
    chnhyg
        2
    chnhyg  
       2018-02-03 18:24:53 +08:00
    // 最好解释下为什么这么做,避免后人擅自改成 refund_ing。
    if (status == refund_ing or status == rfund_ing)
    {
    }
    odirus
        3
    odirus  
    OP
       2018-02-03 18:29:46 +08:00
    @orangeade 哦,原来这个也算是呐
    odirus
        4
    odirus  
    OP
       2018-02-03 18:30:09 +08:00
    @chnhyg 我觉得还是注释好一点吧,多写了一个反而误导人
    chnhyg
        5
    chnhyg  
       2018-02-03 18:36:25 +08:00
    @odirus 😂 宽容处理,接受两种值。
    secondwtq
        6
    secondwtq  
       2018-02-03 20:46:17 +08:00   ❤️ 2
    一个封闭的垄断系统,算什么典型例子
    http://stackoverflow.com/questions/8390979/why-create-system-call-is-called-creat c - Why create system call is called creat? - Stack Overflow 私以为这个才是最典型的
    zingl
        7
    zingl  
       2018-02-04 02:38:38 +08:00
    强迫症居然可以接受 ING 前面加个下划线
    dangyuluo
        8
    dangyuluo  
       2018-02-04 09:19:54 +08:00
    我记得 VB 有个函数,返回的因该是 Boolean,但是不知道是遗留问题还是什么,居然是"TRUE"和"FALSE"两个字符串
    哪位能记住是什么函数的,拜托帮忙告诉下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2753 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:20 · PVG 20:20 · LAX 05:20 · JFK 08:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.