我有一個布爾表達式:甲& &(B ||ç& & d)表示人可讀格式複雜的布爾操作
但是A,B,C,和d是相當長的字符逐所以表示這一切都在一條線是不可能的。讓我們假設這個例子,A,B,C和D將在他們自己的路線上。
什麼是推薦的方式來表示該表達式使用縮進額外括號(如有必要),換行符等以最大化人的可讀性。
我有一個布爾表達式:甲& &(B ||ç& & d)表示人可讀格式複雜的布爾操作
但是A,B,C,和d是相當長的字符逐所以表示這一切都在一條線是不可能的。讓我們假設這個例子,A,B,C和D將在他們自己的路線上。
什麼是推薦的方式來表示該表達式使用縮進額外括號(如有必要),換行符等以最大化人的可讀性。
首先,根據您的評論,您可以使用布爾型變量,如bAreFooAndBarEqual
,只有他們的名字帶有更深的含義,並遵循自己的命名約定。
至於你的具體例子,我會明確表明我希望& &優先於||,所以再加上一對圓括號:A && (B || (C && D))
。 然後,我會縮進每個托架開口,具有操作員操作數的左邊(這是一種個人品位,你應該看到的最清晰查看):
A
&& (B
|| (C
&& D))
當然,這只是一種個人品味,你應該認爲最自然的東西,看起來最清晰。
我同意這裏,我有其他人向我推薦同樣的東西。 –
我不知道上述的最佳做法是什麼,但我建議將所有這些邏輯都隱藏在一個明智名稱的函數中。 * *會爲人類的可讀性創造奇蹟。 –
@BurhanAli:是的,但我仍然必須做Foo == Bar或類似於A的操作。我已經在重構這個更具描述性,有時候幾個布爾比較與函數的邏輯目標一致。 –
評論怎麼樣?我通常不喜歡弄清楚別人想要做什麼,但只要看看他們打算做什麼。在某個時候,它就像「哦,這就是爲什麼有||這裏」 – MxyL