我猜几乎在每个程序中有时都不需要一直调用方法,而仅在特定条件下才需要。
检查是否必须调用方法非常容易。一个简单的if语句可以解决问题。
if (value == true)
{
DoSomething();
}
但是,如果您有许多条件,则验证可能会变得很复杂,并且代码会越来越长。
所以我用每次调用的方法编写代码
该方法本身将检查并验证是否需要执行她的代码。
DoSomething(value);
... 然后 ...
public void DoSomething(bool value)
{
if (value == true)
{
// Do Something here ...
}
}
现在,我有两种处理方式。我不确定哪种方法是正确的方法。
也许还有另一种选择?
最佳答案
Clean Code — A Handbook of Agile Software Craftsmanship提倡不要编写接受单个 bool(boolean) 参数的方法,因为每个方法只能做一件事,而只能做一件事。如果某个方法采用 bool(boolean) 参数来决定要做什么,则它会自动执行两件事:决定要做什么和实际要做某事。该方法应重构为执行某项操作的两个单独的方法,以及一个确定要调用这两个方法中的哪一个的单个方法。
此外,使用value == true
评估 bool(boolean) 值是多余且不必要的。该值本身表示一个 bool(boolean) 状态(true
/ false
),不需要再次与true
比较。 就是说,最佳实践是使用 if (value)
而不是 if (value == true)
(或if ((value == true) == true
;这看起来很愚蠢,但与if (value == true)
的方法没有太大区别)。