在开关盒中安装开关盒是不好的做法吗?

在开关盒中安装开关盒是不好的做法吗? 如果是这样,什么是替代品? 如果我不需要,我真的不想使用if / else if

而不是像这样做:

if((this == 1) && (that == 1)){ //something }
else if((this == 1) && (that == 2)){ //something }
else if((this == 2) && (that == 3)){ //something }

我正在考虑的方向是:

switch(this){
    case 1:
        switch(that){
            case 1:
                // something
            break;
            ....
        }
    break;
    ....
}

我看起来真的很不对劲。 在语法上没有错,但在正确的练习方面是错误的。


避免采取以下方法

switch(id)
{
    case 1:
    {
        switch (subid)
        {
            case 4:
                // nested code
        }
    }
    case 2:
         // some code
}

通过将嵌套节移入方法,更好的方法并改进您的代码

switch(id)
{
    case 1:
        SubSwtich(subid);
        break;
    case 2:
         // some code
}

function SubSwtich(int subid)
{
        switch (subid)
        {
            case 4:
                // nested code
        }
}

具有执行许多不同事情的大量功能是不好的做法。 如果您在开关盒中有开关盒,这表明您的功能可能太大,您应该考虑将其分解为更易于理解的小块。

但是没有硬性规定。 这一切都取决于确切的情况。


我会认为这是一个不切实际的做法。 在大多数情况下,这是不可读的。

您可以将“子”切换案例提取到方法中。

链接地址: http://www.djcxy.com/p/51985.html

上一篇: Is it bad practice to have a switch case in a switch case?

下一篇: multiple constructor in javascript