我有两个枚举:level有3个值和criticality4个值.这两个映射的组合映射到priority枚举中的8个值之一.映射是非线性的,将来可能会发生变化.
什么是实现静态函数的最佳*方法,该函数需要级别和关键性并输出优先级?
*最好易于阅读和理解,易于更换,更安全,而不是性能损失.考虑到输入域将来可能发生变化的解决方案的额外分数.
嵌套开关..case.许多行和许多样板代码.如果您忘记在案例中返回值,也容易出错.基本上代码看起来像这样:
switch (bc) {
case C1:
switch (el) {
case E1:
return EmergencyPriority.P1;
case E2:
return EmergencyPriority.P2;
case E3:
return EmergencyPriority.P3;
}
case C2:
switch (el) {
case E1:
return EmergencyPriority.P2;
case E2:
return EmergencyPriority.P3;
case E3:
return EmergencyPriority.P4;
}
case C3:
switch (el) {
case E1:
return EmergencyPriority.P4;
case E2:
return EmergencyPriority.P5;
case E3:
return EmergencyPriority.P6;
}
case C4:
switch (el) {
case E1:
return EmergencyPriority.P6;
case …Run Code Online (Sandbox Code Playgroud)