odirus

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

  •  
  •   odirus · Feb 3, 2018 · 3312 views
    This topic created in 3072 days ago, the information mentioned may be changed or developed.

    这两天在对接微信支付的提现功能,发现返回状态中有一个扎眼的类型: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 replies    2018-02-04 09:19:54 +08:00
    orangeade
        1
    orangeade  
       Feb 3, 2018 via Android   ❤️ 1
    看标题就想到了 HTTP 的 referer
    chnhyg
        2
    chnhyg  
       Feb 3, 2018
    // 最好解释下为什么这么做,避免后人擅自改成 refund_ing。
    if (status == refund_ing or status == rfund_ing)
    {
    }
    odirus
        3
    odirus  
    OP
       Feb 3, 2018
    @orangeade 哦,原来这个也算是呐
    odirus
        4
    odirus  
    OP
       Feb 3, 2018
    @chnhyg 我觉得还是注释好一点吧,多写了一个反而误导人
    chnhyg
        5
    chnhyg  
       Feb 3, 2018
    @odirus 😂 宽容处理,接受两种值。
    secondwtq
        6
    secondwtq  
       Feb 3, 2018   ❤️ 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  
       Feb 4, 2018
    强迫症居然可以接受 ING 前面加个下划线
    dangyuluo
        8
    dangyuluo  
       Feb 4, 2018
    我记得 VB 有个函数,返回的因该是 Boolean,但是不知道是遗留问题还是什么,居然是"TRUE"和"FALSE"两个字符串
    哪位能记住是什么函数的,拜托帮忙告诉下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   917 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 19:40 · PVG 03:40 · LAX 12:40 · JFK 15:40
    ♥ Do have faith in what you're doing.