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

订单成功状态应该用 succeed、success 还是 successful ?

  •  
  •   luckycat · 2022-01-21 16:23:33 +08:00 · 11737 次点击
    这是一个创建于 1045 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我个人比较倾向于 successful ,因为是形容词用来形容状态很合适。但是似乎使用 success 更常见?

    104 条回复    2022-01-23 15:54:25 +08:00
    1  2  
    sagaxu
        1
    sagaxu  
       2022-01-21 16:25:53 +08:00 via Android
    你会写“成功”还是“成功的”
    luckycat
        2
    luckycat  
    OP
       2022-01-21 16:27:40 +08:00
    @sagaxu 如果是失败,那么就是 failed ,和 failed 对应的应该是 successful 。
    sunhelter
        3
    sunhelter  
       2022-01-21 16:29:03 +08:00
    自己跟对接方定好就行了,微信支付和支付宝的回调要求也不一样,这个东西本来就没有标准
    Lin0936
        4
    Lin0936  
       2022-01-21 16:29:39 +08:00
    @luckycat 一般是 failure 啊
    nba2k9
        5
    nba2k9  
       2022-01-21 16:31:36 +08:00
    我们一般用 0 和 1
    jujusama
        6
    jujusama  
       2022-01-21 16:34:58 +08:00
    Confirmed ?
    Leonard
        7
    Leonard  
       2022-01-21 16:35:19 +08:00
    @luckycat #2 这里就算用 failed ,也是动词,所以不会对应 successful
    gadfly3173
        8
    gadfly3173  
       2022-01-21 16:38:56 +08:00   ❤️ 2
    failed 这里是完成时,指的是失败了,所以 succeed 才是对应的。不过确实还是 success 更多一点
    hvn0413
        9
    hvn0413  
       2022-01-21 16:39:24 +08:00 via iPhone
    Transaction failed./Transaction is successful.
    aleofan
        10
    aleofan  
       2022-01-21 16:40:02 +08:00   ❤️ 2
    这三个里面最离谱的就是 successful 吧
    weizhen199
        11
    weizhen199  
       2022-01-21 16:44:29 +08:00   ❤️ 4
    success 对应 failure
    successful 对应 failed
    weizhen199
        12
    weizhen199  
       2022-01-21 16:44:52 +08:00
    succeed 是完全另外一个意思,别搞混了
    luckycat
        13
    luckycat  
    OP
       2022-01-21 16:45:57 +08:00   ❤️ 2
    看了几个文档,似乎用 completed 和 confirmed 类似这种完成式的形容词更多一些,应该是使用形容词更准确,用名词不太规范。

    https://developer.bigcommerce.com/api-reference/store-management/orders/order-status/getorderstatus
    http://help.tackthis.com/help-guide/orders/types-of-order-statuses/
    https://docs.magento.com/user-guide/sales/order-status.html
    buddyy
        14
    buddyy  
       2022-01-21 16:47:48 +08:00   ❤️ 2
    failed 和 succeeded 啊。
    luckycat
        15
    luckycat  
    OP
       2022-01-21 16:49:30 +08:00
    @weizhen199 succeed 意思我也觉得有点远了,但是在一些中文文档里有见过。
    weizhen199
        16
    weizhen199  
       2022-01-21 16:49:45 +08:00
    @weizhen199 噢艹,我错了,succeed 是 fail 。succeeded 对饮 failed
    shionagisa
        17
    shionagisa  
       2022-01-21 16:51:57 +08:00   ❤️ 2
    用 submited / confirmed / finalized / purchased / processed / fulfilled

    order / trade / deal 后面加 seccess- 的话,我不好说捏
    weizhen199
        18
    weizhen199  
       2022-01-21 16:53:22 +08:00
    @luckycat succeed 和 fail 同为动词。succeeded 和 failed 同为过去分词。
    succeed 还有一个意思是 inherit 。我不知道哪来个印象 succeeded 是继承的过去分词。。。
    AllenHua
        19
    AllenHua  
       2022-01-21 16:56:05 +08:00   ❤️ 2
    failed 和 succeeded
    815979670
        20
    815979670  
       2022-01-21 16:58:06 +08:00
    不应该是 1 ,2 ,3 ,4 ,5 吗 int 类型查起来更快
    kidonng
        21
    kidonng  
       2022-01-21 17:00:02 +08:00 via Android   ❤️ 5
    chenggong
    zxjunz
        22
    zxjunz  
       2022-01-21 17:00:25 +08:00
    succeeded: 成功了
    successful: 成功的
    kidonng
        23
    kidonng  
       2022-01-21 17:01:17 +08:00 via Android
    或者返回 "不跌跟头" 🐶
    buddyy
        24
    buddyy  
       2022-01-21 17:01:29 +08:00
    @815979670 代码直接用数字不优雅,一般都会用常量、宏、枚举来表示各种状态。
    luckycat
        25
    luckycat  
    OP
       2022-01-21 17:03:55 +08:00
    @zxjunz succeeded 这个词似乎不太常见,我还是用 completed 吧。确实 successful 也是差了点意思,少了那个过程暗示。
    BJL
        26
    BJL  
       2022-01-21 17:05:36 +08:00
    @weizhen199 succeed 确实有继承 /接替的意思
    gps949
        27
    gps949  
       2022-01-21 17:05:49 +08:00
    我还以为学计算机的会用 true 、false 呢
    AllenHua
        28
    AllenHua  
       2022-01-21 17:06:57 +08:00
    @815979670 #20
    @buddyy #24 是的,库里用数字,代码里枚举用单词(而且带时态)表示使代码更加易读。从这点上看,英文的时态和语态确实蛮“先进”的。
    zxjunz
        29
    zxjunz  
       2022-01-21 17:10:15 +08:00
    @luckycat #25 你多用用国外的软件就知道了,都是用 succeeded 的,或者 successfully 。completed 只能表达已完成,不能表达成功与否。
    airyland
        30
    airyland  
       2022-01-21 17:12:57 +08:00
    PENDING FULFILLED
    815979670
        31
    815979670  
       2022-01-21 17:16:39 +08:00
    @AllenHua @buddyy 是的,一般我都是在数据库里面存 1234 ,然后在模型里面用获取器 /修改器 转换为对应枚举
    Pastsong
        32
    Pastsong  
       2022-01-21 17:18:30 +08:00
    不要用 succeed ,有歧义。楼上 submitted / confirmed / finalized / purchased / processed / fulfilled / paid 就挺好的,单纯的 request 用 ok
    wanguorui123
        33
    wanguorui123  
       2022-01-21 17:19:33 +08:00
    success 代表响应正常或者错误,具体状态用 code
    veike
        34
    veike  
       2022-01-21 17:22:38 +08:00
    @815979670 语义化
    luckycat
        35
    luckycat  
    OP
       2022-01-21 17:22:46 +08:00
    @Pastsong 我也感觉到了,使用 success- 这个词可能是因为词汇量不够。很多时候有更精准的描述。比如 fulfilled 和 completed 之间的细微差别我们可能感觉不出来。
    skiy
        36
    skiy  
       2022-01-21 17:47:35 +08:00   ❤️ 7
    其实很简单,去跑个 GitHub CI ,然后看结果就好了。照着母语为英语的老外来,不会错。

    succeeded 9 hours ago in 15s
    failed 24 days ago in 18m 51s
    zhuzhibin
        37
    zhuzhibin  
       2022-01-21 18:37:30 +08:00
    如果不用整型的枚举,如果是我的话应该选择动词
    watcher
        38
    watcher  
       2022-01-21 18:44:44 +08:00
    为啥不用 ok err exp?
    sadfQED2
        39
    sadfQED2  
       2022-01-21 18:48:59 +08:00 via Android
    我就定义个 0123456789 ,你爱用不用
    aguesuka
        40
    aguesuka  
       2022-01-21 19:06:37 +08:00
    success, unsuccess
    liuxu
        41
    liuxu  
       2022-01-21 19:14:34 +08:00
    @aguesuka 人才
    e1d4py0KiD6KgqkQ
        42
    e1d4py0KiD6KgqkQ  
       2022-01-21 20:24:58 +08:00 via Android
    不应该是 congratulation 吗
    guader
        43
    guader  
       2022-01-21 20:28:22 +08:00
    ojbk <=> ohuo
    davidyin
        44
    davidyin  
       2022-01-21 20:30:44 +08:00 via Android
    参考 stripe 的写法。
    winglight2016
        45
    winglight2016  
       2022-01-21 20:40:50 +08:00
    订单成功的语义很含混,如果是中间状态,会用 wait_to_pay, paid, delivering, received,如果是结束状态,会用 closed 。
    wangyzj
        46
    wangyzj  
       2022-01-21 20:41:19 +08:00
    success
    fail
    dswyzx
        47
    dswyzx  
       2022-01-21 20:49:46 +08:00
    页面展示给用户是中文吧,数据库存的 int 吧.至于代码里的枚举自己了解队友不会理解为失败怎么写都是小问题啦
    barkure
        48
    barkure  
       2022-01-21 21:05:34 +08:00
    @kidonng 正在喝水,没把我呛死😂
    barkure
        49
    barkure  
       2022-01-21 21:06:58 +08:00
    @guader 人才人才
    wffnone
        50
    wffnone  
       2022-01-21 21:20:02 +08:00   ❤️ 5
    这个问题问得很好。

    我们用英语不是给外国人看的,是给我们自己看的。而且我们在创造着新的场景,新的语义。

    对程序设计里面的词语来说,重要的不是和日常的通行的含义符合,而是内部的一致性。重要的也不是地道或者得体,而是精确地表意,用截然不同的词,将类似的对象明确地区分开。

    在这个原则下,你会发现,对错是你自己说了算,你们的团队说了算的。别人说的都不重要。

    不局限于词语,软件工程的方方面面,都有这个道理。
    jinliming2
        51
    jinliming2  
       2022-01-21 21:27:22 +08:00
    看了下 MDN 文档里的用语: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
    The request succeeded.
    request did not succeed.
    preflight channel did not succeed.
    所以,成功用 secceeded ,失败用 did not succeed.
    EscYezi
        52
    EscYezi  
       2022-01-21 21:35:34 +08:00 via iPhone
    用 ok ,问就是借鉴 http 状态码(doge
    srlp
        53
    srlp  
       2022-01-21 22:34:17 +08:00 via iPhone
    failed 失败了 / succeeded 成功了

    请不要使用 successful
    vanton
        56
    vanton  
       2022-01-21 23:02:31 +08:00
    看了下微软和 google 的项目,微软是 Success, Failed ; google 是 SUCCEEDED, FAILED

    所以应该都行
    leavic
        57
    leavic  
       2022-01-21 23:39:52 +08:00
    succeed 不是继承的意思吗?你们真的都是码农?我到底要怀疑你们不懂代码还是不懂英语呢?
    richarddingcn
        58
    richarddingcn  
       2022-01-21 23:48:20 +08:00
    order confirmed
    jinliming2
        59
    jinliming2  
       2022-01-22 01:42:15 +08:00
    @leavic succeed:verb 动词,1. achieve the desired aim or result 达成预期的目的或结果,2. take over a throne, inheritance, office, or other position from 继承王位、职位等.
    建议你多读一些英文文档,里用 succeeded 作为成功的场景挺多的。
    shadowfish0
        60
    shadowfish0  
       2022-01-22 03:35:27 +08:00
    很有意思啊这问题,我平时写代码也会纠结一个单词半天哈哈哈哈哈
    resol341
        61
    resol341  
       2022-01-22 05:11:02 +08:00
    订单成功一般不是说 confirmed 之类吗?没见过有说 successful 的
    "Your Jimmy John's Online Order is confirmed!"
    Mac
        62
    Mac  
       2022-01-22 05:15:42 +08:00
    我是根据 bootstrap 里的命名,success
    wffnone
        63
    wffnone  
       2022-01-22 05:57:37 +08:00
    @wffnone 居然点赞哎让我补充几句。

    就这个场景,涉及两类词吧。一是对象的状态,二是过程的状态。

    对象是订单。订单也许你会多个层级,业务层,技术层,订单和订单又有上下游和包含关系。中间也许你还会涉及到时序的问题,未知状态的问题。对每一个订单对象,它的状态当然是明确定义的。成功失败显然不是一个好的状态列表。

    过程又有很多类型。但是过程的结果无非是成功或失败。叫什么单词完全无所谓。

    你不应该把过程的结果和对象的状态混起来。在实际工作中,我们会采用很多灵活的做法,我们也必须采取很多灵活的做法:遵守规则是蠢人的事业。但是,心里该有明确的认识,物与物的先有边界才能融合。
    crab
        64
    crab  
       2022-01-22 05:58:37 +08:00
    chenggong
    Kazetachinu
        65
    Kazetachinu  
       2022-01-22 08:06:22 +08:00 via iPhone
    应该用名词 success,英文的形容词后面是要加名词的,不会单用形容词。😃
    aptupdate
        66
    aptupdate  
       2022-01-22 08:11:34 +08:00 via iPhone
    succ 和 fail
    arischow
        67
    arischow  
       2022-01-22 08:23:39 +08:00 via iPhone
    单词懂不懂,内部怎么约束,两码事。不冲突。如果这个意思词典可查可解释,按照英文的定义来还会有歧义?

    有些人还要进来跑题就更为可笑
    whypool
        68
    whypool  
       2022-01-22 08:25:22 +08:00 via Android
    1234 ,前端自己去折腾吧
    dangyuluo
        69
    dangyuluo  
       2022-01-22 08:40:00 +08:00
    @leavic succeed 就是有成功做到某事的意思,而且还是主要用途。你真的是学过英语么?我要怀疑你不懂代码还是不懂英语呢?
    EvanLuo42
        70
    EvanLuo42  
       2022-01-22 08:45:33 +08:00 via iPhone
    不应该是 success: true 吗
    leven87
        71
    leven87  
       2022-01-22 09:09:43 +08:00
    success
    istek999
        72
    istek999  
       2022-01-22 09:10:53 +08:00
    DONE
    不纠结
    HankAviator
        73
    HankAviator  
       2022-01-22 09:12:32 +08:00 via Android
    @aptupdate 你的订单吸了
    HankAviator
        74
    HankAviator  
       2022-01-22 09:14:43 +08:00 via Android
    @dangyuluo 这人性格有点问题,没必要回他
    zcjfesky
        75
    zcjfesky  
       2022-01-22 09:31:15 +08:00 via Android
    从易读性来说 success 更好一些,succeeded 这种写法有点绕还容易写错字。但是其实都没啥卵区别,干脆 0 和 1
    haimall
        76
    haimall  
       2022-01-22 09:32:42 +08:00 via Android
    你们天天把精力浪费在这种无聊的事情上。
    Twice
        77
    Twice  
       2022-01-22 09:34:29 +08:00 via iPhone
    done ok puchased
    djFFFFF
        78
    djFFFFF  
       2022-01-22 09:37:32 +08:00
    @weizhen199 failed 对应的石 succeeded
    jfdnet
        79
    jfdnet  
       2022-01-22 09:37:59 +08:00
    某种状态,用名词好过形容词。
    sickoo
        80
    sickoo  
       2022-01-22 09:38:27 +08:00
    一般国外电商不会说这些,会显示订单在处理,收到 order 。
    hideonwhere
        81
    hideonwhere  
       2022-01-22 09:44:45 +08:00
    面向中国人开发 能看懂 意思差不大就是 ok 的
    况且状态判断不都是看 code 吗
    tuutoo
        82
    tuutoo  
       2022-01-22 09:47:52 +08:00 via Android
    用状态码就好了 不要用文字啊 参考 http 状态码
    Skiro
        83
    Skiro  
       2022-01-22 09:48:07 +08:00 via Android
    按理来说是应该用 succeeded ,但是用的比较多地反而是 success 。在 GitHub 的 Code 里分别搜索的结果是 succeeded: 42M, success: 394M, successful: 143M.
    abc0123xyz
        84
    abc0123xyz  
       2022-01-22 09:51:28 +08:00
    回、囘、囬、廻( dog )
    taine
        85
    taine  
       2022-01-22 10:04:14 +08:00
    都写了成功『状态』,状态用什么词很明确。如果不谈状态,三个词都行。
    solemelo
        86
    solemelo  
       2022-01-22 10:45:29 +08:00
    success, failure ,参考 Swift 的 Result 结构
    danhahaha
        87
    danhahaha  
       2022-01-22 12:46:20 +08:00
    一般是:
    pending
    processing
    on-hold
    completed
    cancelled
    refunded
    failed
    seanzxx
        88
    seanzxx  
       2022-01-22 13:40:35 +08:00
    我喜欢用分词:
    processed
    failed
    completed
    cancelled
    paused
    wnh3yang
        89
    wnh3yang  
       2022-01-22 14:45:47 +08:00
    直接用汉字吧
    xratzh
        90
    xratzh  
       2022-01-22 15:19:19 +08:00 via Android
    @danhahaha 同意,玩 vps 就是这几个词居多
    huhexian
        91
    huhexian  
       2022-01-22 15:20:46 +08:00
    failed 对应的是 succeeded
    ericgui
        92
    ericgui  
       2022-01-22 15:28:34 +08:00
    succceeded
    OceanSea
        93
    OceanSea  
       2022-01-22 15:31:12 +08:00 via iPhone
    Done
    kasusa
        94
    kasusa  
       2022-01-22 15:53:48 +08:00
    订单下单成功 order confirmed
    订单付款成功 order paid successful
    另外我谷歌翻译了一下,出来的是 order successful 我感觉不太对劲。
    xzysaber
        95
    xzysaber  
       2022-01-22 16:08:53 +08:00
    @gadfly3173 你确定 succeed 是完成时吗?
    leipengcheng
        96
    leipengcheng  
       2022-01-22 16:23:30 +08:00
    (⊙﹏⊙) 没想到还有四级的漏网之鱼
    ZSeptember
        97
    ZSeptember  
       2022-01-22 17:37:51 +08:00
    首先,订单成功这个描述就有点模糊。
    成功提交,成功发货,还是成功配送。
    建议参考 #17 ,重新定义状态
    n1dragon
        98
    n1dragon  
       2022-01-22 17:53:50 +08:00
    一般国外电商都会用更加具体的词描述订单的状态。比如 Confirmed 就是确认收到了订单,Shipped 或 Dispatched 就是已发货,Completed/Delivered 就是已经收货完成。有些地方在 Confirmed 前面可能还有 Submitted 就是提交了订单,但还没有完成确认。Successful 这个词语反而比较模糊,无法准确形容当前订单的状态。
    DeutschXP
        99
    DeutschXP  
       2022-01-22 19:10:23 +08:00 via iPhone
    @luckycat #35 fulfill 和 complete 之间差着十万八千里呢,不是细微差别。
    在订单处理中,fulfillment(fulfill) 一般专指仓库备货打包发货这一块。如果你说 fulfilled 和 shipped 有细微差别,那确实是有细微差别,譬如如果已经打包完成还没有出库,物流公司还没有来揽收,那么就是已经 fulfilled 了,物流车子来过了已经扫描拖走了就是 shipped 了,要根据你们实际仓库物流业务流程这一块决定用哪个词更合适。
    只有订单完全结束了,财务结算,物流各个步骤都结束了,那才算是 completed
    ZeawinL
        100
    ZeawinL  
       2022-01-22 19:44:48 +08:00   ❤️ 1
    用原型
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2722 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:58 · PVG 16:58 · LAX 00:58 · JFK 03:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.