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

2018 年 2 月 3 日
 odirus

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

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

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

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

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

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

3314 次点击
所在节点    分享发现
8 条回复
orangeade
2018 年 2 月 3 日
看标题就想到了 HTTP 的 referer
chnhyg
2018 年 2 月 3 日
// 最好解释下为什么这么做,避免后人擅自改成 refund_ing。
if (status == refund_ing or status == rfund_ing)
{
}
odirus
2018 年 2 月 3 日
@orangeade 哦,原来这个也算是呐
odirus
2018 年 2 月 3 日
@chnhyg 我觉得还是注释好一点吧,多写了一个反而误导人
chnhyg
2018 年 2 月 3 日
@odirus 😂 宽容处理,接受两种值。
secondwtq
2018 年 2 月 3 日
一个封闭的垄断系统,算什么典型例子
http://stackoverflow.com/questions/8390979/why-create-system-call-is-called-creat c - Why create system call is called creat? - Stack Overflow 私以为这个才是最典型的
zingl
2018 年 2 月 4 日
强迫症居然可以接受 ING 前面加个下划线
dangyuluo
2018 年 2 月 4 日
我记得 VB 有个函数,返回的因该是 Boolean,但是不知道是遗留问题还是什么,居然是"TRUE"和"FALSE"两个字符串
哪位能记住是什么函数的,拜托帮忙告诉下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/428235

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX