在我使用的每一种语言中,这都是困扰我的问题,我有一个if语句,但条件部分有太多的检查,我不得不将它分成多行,使用嵌套的if语句,或者只是接受它很丑陋,然后继续我的生活。
有没有你发现的其他方法,可能对我和其他遇到同样问题的人有用?
例如,所有内容都在一行上:
if (var1 = true && var2 = true && var2 = true && var3 = true && var4 = true && var5 = true && var6 = true)
{例如,多行:
if (var1 = true && var2 = true && var2 = true
&& var3 = true && var4 = true && var5 = true
&& var6 = true)
{示例-嵌套:
if (var1 = true && var2 = true && var2 = true && var3 = true)
{
if (var4 = true && var5 = true && var6 = true)
{发布于 2008-08-08 16:54:30
将条件分成几个布尔值,然后使用主布尔值作为条件。
bool isOpaque = object.Alpha == 1.0f;
bool isDrawable = object.CanDraw && object.Layer == currentLayer;
bool isHidden = hideList.Find(object);
bool isVisible = isOpaque && isDrawable && ! isHidden;
if(isVisible)
{
// ...
}更好的是:
public bool IsVisible {
get
{
bool isOpaque = object.Alpha == 1.0f;
bool isDrawable = object.CanDraw && object.Layer == currentLayer;
bool isHidden = hideList.Find(object);
return isOpaque && isDrawable && ! isHidden;
}
}
void Draw()
{
if(IsVisible)
{
// ...
}
}确保你给你的变量命名实际表明意图而不是功能。这将极大地帮助开发人员维护您的代码……可能是你!
https://stackoverflow.com/questions/6126
复制相似问题