我有一个返回结果类的方法。结果类有一个Boolean属性,用于指示操作是否成功。只有符合许多标准才能成为现实。我认为以下代码比等效的if语句更简洁,但我想检查我所做的是否被认为是不好的做法。
bool successfullyParsed;
bool conditionA = true;
bool conditionB = true;
successfullyParsed = conditionA && conditionB;
//successfullyParsed should only be true if both criteria are true.
答案 0 :(得分:1)
不,这不是不好的做法 - 实际上它可以是让更复杂的条件逻辑更具可读性的好方法,例如(一个简单的例子):
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;
答案 1 :(得分:1)
这非常好,实际上是解决这个问题的优雅方案。