这种类型的逻辑条件检查是不好的做法吗?
本文关键字:检查 类型 种类 条件 | 更新日期: 2023-09-27 18:35:03
>我有一个返回结果类的方法。结果类具有一个布尔属性,用于指示操作是否成功。只有当许多标准为真时,它才能为真。我认为下面的代码会比等效的 if 语句更简洁,但我想检查我正在做的事情是否被视为不良做法。
bool successfullyParsed;
bool conditionA = true;
bool conditionB = true;
successfullyParsed = conditionA && conditionB;
//successfullyParsed should only be true if both criteria are true.
不,这不是不好的做法 - 事实上,它可以是使更复杂的条件逻辑更具可读性的好方法,例如(一个微不足道的例子(:
bool isLive = pages.Any(x => x.Live == true && x.Published == true && ...)
在您的示例中,您不能只执行以下操作以使其更具可读性吗?
bool conditionA = true;
bool conditionB = true;
bool successfullyParsed = conditionA && conditionB;
这样,您可以删除successfullyParsed
的初始声明。
如果你的方法要返回成功解析的布尔值,那么你可以进一步缩短它:
bool conditionA = true;
bool conditionB = true;
return conditionA && conditionB;
这完全没问题,实际上是解决问题的优雅解决方案。