5

如果我想配置某个产品库存为无限的话,值设置为 -1 好吗?

 2 years ago
source link: https://www.v2ex.com/t/810199
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

如果我想配置某个产品库存为无限的话,值设置为 -1 好吗?

  kikione · 8 小时 39 分钟前 · 1030 次点击

如果我想配置某个产品库存为无限的话,值设置为 -1 好吗? 我看我们生产环境这样做的,但是我觉得有问题。

23 条回复    2021-10-25 05:31:10 +08:00

hefish

hefish   8 小时 38 分钟前

这得看具体逻辑吧。

kikione

kikione   8 小时 37 分钟前

@hefish 如果超发了,库存变为-1 ,这不得出大问题

hand515

hand515   8 小时 36 分钟前

2^64 -1

wudaye

wudaye   8 小时 33 分钟前 via Android

有点作死的感觉

xgfan

xgfan   8 小时 32 分钟前 via iPhone

0 超卖就爽翻天了。

flynaj

flynaj   8 小时 31 分钟前 via Android

普通商品 65535 就够。

infun

infun   8 小时 27 分钟前

分库存类型:有限库存、无限库存,无限库存不做扣减退还操作

emeab

emeab   8 小时 27 分钟前

只能说设置一个大一点的库存比较好. 具体逻辑也不用改..

JQSM

JQSM   8 小时 26 分钟前 via Android

whmcs 里面负数就是没货了,可以参考淘宝的商家,设一个很大的数就行了。

0Vincent0Zhang0

0Vincent0Zhang0   8 小时 24 分钟前 via Android

没事的,记得退货的时候不要加回去就行了,不然就没得卖了。

Kinnice

Kinnice   8 小时 24 分钟前 via Android

确定你不会超卖,就可以

0Vincent0Zhang0

0Vincent0Zhang0   8 小时 12 分钟前 via Android

最大的风险可能会是那些正常库存的商品,在某个 bug 触发的情况下被扣成了-1 ,这个时候就爽歪歪了😂

oo1

oo1   8 小时 9 分钟前 via iPhone   ❤️ 2

最好是新增一个字段。因为一个字段代表什么含义就应该一直做一样的用处。库存就是个数字。是否无限就是一个 bool 。字段巧用,当时是省事了,以后迭代,交接的维护成本极高。

ferock

ferock   8 小时 8 分钟前 via iPhone   ❤️ 1

给个超级大数字会怀孕?

securityCoding

securityCoding   7 小时 50 分钟前

这写-1 的人代码抽象能力估计要告别编码了

villivateur

villivateur   7 小时 16 分钟前 via Android

实际生活中不可能出现无限库存,所以不需要这个选项

Reficul

Reficul   7 小时 13 分钟前

@villivateur 手机充值表示,还是有可能的

jousca

jousca   7 小时 12 分钟前

给个 1 亿以上的数字不就行了。就和加油站的员工卡一样。起步都是几千万的金额在上面。

lower

lower   5 小时 11 分钟前

dangyuluo

dangyuluo   4 小时 51 分钟前

首先你不应该用 signed 的数值来存储,然后无限的话选择 UINT32_MAX-1 其实就足够了。

dangyuluo

dangyuluo   4 小时 50 分钟前

@securityCoding 不能这么说,楼主应该是有见过例子的。其实 Linux kernel 里很多函数发生错误的时候返回值都是-1 。

clf

clf   4 小时 49 分钟前 via iPhone

加个字段区分标记无限库存不行吗。

ryd994

ryd994   1 小时 1 分钟前 via Android

@dangyuluo 用 unsigned int 然后 underflow 了那不就成了 uinx max 了吗。这和楼主说的-1 有什么区别

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK