多因素建议

时间:2018-12-12 09:07:10

标签: refactoring

我有一些像这样的旧丑陋代码

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 个答案:

答案 0 :(得分:0)

您需要在return;之后添加doLogin();,以保持相同。您也可以删除else {},并取消缩进三个doStuff?()函数:

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