如何按指定条件生成专属代码评审人员配对?
代码评审配对需求
数据集
dfdict = { 'a' : 'd1', 'b' : 'd1', 'c' : 'd1', 'd' : 'd2', 'e' : 'd2', 'f' : 'd3', 'g' : 'd3' } df = pd.DataFrame(list(dfdict.items()), columns = ['staff', 'division'])
生成的员工-部门对应表如下:
| staff | division |
|---|---|
| a | d1 |
| b | d1 |
| c | d1 |
| d | d2 |
| e | d2 |
| f | d3 |
| g | d3 |
配对规则
- 每对包含一名主评审(primary reviewer)和一名副评审(secondary reviewer)
- 每位员工必须担任一次主评审和一次副评审
- 员工只能和其他部门的员工配对
- 两名员工仅能配对一次:若已有
a为主评审、d为副评审的配对,则d作为主评审时不能再以a为副评审
示例与冲突场景
一种可能的配对结果如下:
primary secondary a d b e c g d b e f f g
这里最后两个副评审位置留空是为了说明一个复杂场景:当轮到f作为主评审时,可选的副评审是c或a,但如果选a当副评审,最后一组g和c的配对就会违反规则——因为c和g已经在前面出现过配对(c为主、g为副)。
内容的提问来源于stack exchange,提问作者NonSleeper
相关产品推荐
相关产品推荐

