2011-11-16 65 views
1

我有一個布爾表達式:甲& &(B ||ç& & d)表示人可讀格式複雜的布爾操作

但是A,B,C,和d是相當長的字符逐所以表示這一切都在一條線是不可能的。讓我們假設這個例子,A,B,C和D將在他們自己的路線上。

什麼是推薦的方式來表示該表達式使用縮進額外括號(如有必要),換行符等以最大化人的可讀性。

+0

我不知道上述的最佳做法是什麼,但我建議將所有這些邏輯都隱藏在一個明智名稱的函數中。 * *會爲人類的可讀性創造奇蹟。 –

+0

@BurhanAli:是的,但我仍然必須做Foo == Bar或類似於A的操作。我已經在重構這個更具描述性,有時候幾個布爾比較與函數的邏輯目標一致。 –

+0

評論怎麼樣?我通常不喜歡弄清楚別人想要做什麼,但只要看看他們打算做什麼。在某個時候,它就像「哦,這就是爲什麼有||這裏」 – MxyL

回答

1

首先,根據您的評論,您可以使用布爾型變量,如bAreFooAndBarEqual,只有他們的名字帶有更深的含義,並遵循自己的命名約定。

至於你的具體例子,我會明確表明我希望& &優先於||,所以再加上一對圓括號:A && (B || (C && D))。 然後,我會縮進每個托架開口,具有操作員操作數的左邊(這是一種個人品位,你應該看到的最清晰查看):

A 
&& (B 
    || (C 
     && D)) 

當然,這只是一種個人品味,你應該認爲最自然的東西,看起來最清晰。

+0

我同意這裏,我有其他人向我推薦同樣的東西。 –