Evo*_*lor 1 c# boolean readability
我有几个布尔值我需要检查并变成一个布尔值以便于阅读:
bool myBoolean = 5 == 5 && "string" == "String" && true && false && CheckSomethingElse();
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将其分解为多行以使其更具可读性?我可以做这个:
bool myBoolean = 5 == 5;
myBoolean = myBoolean && "string" == "String";
myBoolean = myBoolean && true;
myBoolean = myBoolean && false;
myBoolean = myBoolean && CheckSomethingElse();
Run Code Online (Sandbox Code Playgroud)
但我正在寻找更多类似的东西:
bool myBoolean = 5 == 5;
myBoolean &= "string" == "String";
myBoolean &= true;
myBoolean &= false;
myBoolean &= CheckSomethingElse();
Run Code Online (Sandbox Code Playgroud)
但是,第三个代码块与第一个/第二个代码块的功能不同(据我所知).C#是否有办法提高第一个代码块的可读性?或者是否有某种正常的方法来编写这样的布尔值?
为了便于阅读,只需将其解压缩到一个命名方法中,该方法的名称会立即告诉您意图:
public bool FluxCapacitorIsReady()
{
return 5 == 5
&& "string" == "String"
&& true
&& false
&& CheckSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
现在您可以在代码中调用该方法,任何读者都可以立即清楚地知道发生了什么:
if (FluxCapacitorIsReady())
StartFluxCapacitor();
Run Code Online (Sandbox Code Playgroud)
这是Clean Code的概念:有关详细信息,请参阅http://cleancoders.com.