我想在几乎每个程序中,有时候方法不需要一直调用,只能在特定条件下调用.检查是否必须调用方法非常容易.一个简单的if-statment可以解决问题.
if (value == true)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您有许多条件,验证可能会变得复杂,代码会变得越来越长.所以我用每次调用的方法编写代码,方法本身将检查并验证她的代码是否需要执行.
DoSomething(value);
Run Code Online (Sandbox Code Playgroud)
... 然后 ...
public void DoSomething(bool value)
{
if (value == true)
{
// Do Something here ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在我有两种做事方式.我不确定哪种方式是正确的.或者甚至还有另一种选择?
清洁代码 - 敏捷软件手册技巧促进不要编写接受单个布尔参数的方法,因为每个方法应该只做一件事和一件事.如果一个方法接受一个布尔值参数来决定做什么,它会自动做了两两件事:决定什么该做,实际上做的事情.该方法应该重构为两个单独的方法做某事,一个方法决定调用两个方法中的哪一个.
此外,使用布尔值进行评估value == true
是多余且不必要的.值本身表示布尔状态(true
/ false
),不需要true
再次进行比较.也就是说,最佳做法是使用 if (value)
而不是 if (value == true)
(或者if ((value == true) == true
;这似乎是愚蠢的,但与方法没有太大区别if (value == true)
).
归档时间: |
|
查看次数: |
1645 次 |
最近记录: |