代码之家  ›  专栏  ›  技术社区  ›  RRTW

多中频保理建议

  •  0
  • RRTW  · 技术社区  · 7 年前

    我有一些像这样难看的老密码

    if(!isLogin)
    {
      if(confirm("Login first ?"))
      {
        doLogin();
        return;
      }
      else
      {
        doStuff1();
        doStuff2();
        doStuff3();
      }
    }
    else
    {
      doStuff1();
      doStuff2();
      doStuff3();
    }
    

    对于重构,我是这样做的

    if(!isLogin && confirm("Login first ?"))
    {
      doLogin();
    }
    else
    {
      doStuff1();
      doStuff2();
      doStuff3();
    }
    

    我不确定…新的代码逻辑是否等于旧的部分,并有可能缩短它?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Jonathan Leffler    7 年前

    你需要添加 return; 之后 doLogin(); 保持不变。你可以放下 else { } 也一样,不让这三个 doStuff?() 功能:

    if (!isLogin && confirm("Login first ?"))
    {
        doLogin();
        return;
    }
    doStuff1();
    doStuff2();
    doStuff3();