if(!true){return;}的更好方法

时间:2016-09-26 15:11:57

标签: java if-statement return

我有一大堆看起来像这样的代码

        var userAgent = HttpContext.Current.Request.UserAgent;
        var userBrowser = new HttpBrowserCapabilities
        {
            Capabilities = new Hashtable
            {
                {
                    string.Empty, userAgent
                }
            }
        };

        var factory = new BrowserCapabilitiesFactory();
        factory.ConfigureBrowserCapabilities(
            new NameValueCollection(), userBrowser);




        //Set User browser Properties
        var BrowserBrand = userBrowser.Browser;
        var BrowserVersion = userBrowser.Version;


        Response.Write("browser brand :- " + BrowserBrand + "<br/>");
        Response.Write("browser version :- " + BrowserVersion + "<br/>");



    }

想法是如果点击成功则Click函数返回true,否则返回false。

点击功能之外还有其他类似的功能

有人知道更好的方法来获得相同的结果吗?

4 个答案:

答案 0 :(得分:0)

为什么不呢

return boolean_expression();

无论表达式如何评估,都会返回。

e.g。

if (foo == bar) {
   return true;
} else {
   return false;
}

可以简单地

return (foo == bar);

答案 1 :(得分:0)

你可以改写等效的

if (
    !Click(By.linkText("HR Development")) ||
    !Click(By.linkText("ISTQB Agile Tester Extension ( 1/2)"))
){
    return;
}

请注意,一旦结果已知,||的评估就会停止。 (这称为短路。)

使用许多return;语句乱丢你的函数会使调试变得困难,因为设置可靠的断点很困难。

答案 2 :(得分:0)

  

我有一大堆代码女巫[原文如此]

这是你的问题。您似乎已为许多活动编写了一个单击处理类。

另一个想法可能是为事件创建单独的处理程序,并根据需要具有自定义行为。这将是一种更加面向对象的方法。

答案 3 :(得分:0)

只需将boolean变量设置为您的条件,然后使用||(或)运算符进行测试:

boolean foo = !Click(By.linkText("HR Development"));
boolean bar = !Click(By.linkText("ISTQB Agile Tester Extension ( 1/2)"));

if (foo || bar) {
    return;
}

它很干净,如果需要,您可以根据需要添加任意数量的变量。