评审中的下一个状态

👁️ 3 人浏览 💬 0 人评论 ❤️ 添加收藏

按 PR 模型,next_state("review") 交回什么?

PR 生命周期模型:STATES = open → review → approved → merged。next_state 推进一格、is_open 没 merged 就开着、can_merge(状态, 批准数) approved 且有批准才能合、open_count 还开着几个。

STATES = ["open", "review", "approved", "merged"]


def next_state(s):
    """PR 沿 open→review→approved→merged 推进一格;到 merged 就停。"""
    i = STATES.index(s)
    return STATES[min(i + 1, len(STATES) - 1)]


def is_open(s):
    """还没合并(merged)的 PR 都算开着。"""
    return s != "merged"


def can_merge(state, approvals):
    """到了 approved、且至少 1 个批准,才能合。"""
    return state == "approved" and approvals >= 1


def open_count(states):
    """还开着几个 PR。"""
    return sum(1 for s in states if s != "merged")

print(next_state("review"))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论