2013-08-22 73 views
0

当前我正在重构我的旧代码,所以我有时间思考代码应该如何为其他人看起来。我管理了很多问题,但我总是想知道如何为嵌套的逻辑条件准备好语法。假设我们有以下部分代码:条件声明中的良好做法

bool param1; 
int param2; 

var result = (param1 == toCheck.param1) && // to achive condition it always has to be true 
    ((param2 == toCheck.param2)) || 
((!param1) && 
(param2 == defaultValueForParam2)); 

// to pass condition param! has to be always true AND ((params 2 has to be equal) OR (param1 has to be false AND param2 has to be equal with default value) 

对于任何人来说,它应该如何形成更易读?是否存在一些格式化的规则?如果我需要这么复杂的条件,也许一般的解决方案就错了?

我的意图是问:我应该如何使用括号,我应该如何使用缩进,分组等?

+4

你只需要使用'有意义的'变量名并且正常地建立条件。 –

+0

是的,在真正的代码中,名字是有意义的,它只是在这里改变。 –

+0

然后发布原有意义的名字 –

回答

2

如果你有一个复杂的条件下,你不能做那么复杂,它有助于

  1. 具有良好的变量名
  2. 写有明确名称的小助手功能,以便调用代码是明确的
  3. 如果Conition在多个地方使用不要重复自己(请参阅2.)
  4. 重新考虑是否可以简化此操作。你真的需要布尔标志吗?