2013-08-22 70 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. 重新考慮是否可以簡化此操作。你真的需要布爾標誌嗎?