此代碼工作正常,但我需要它簡化爲更清晰,並希望更多的效益:優化代碼更清晰和效率
int i = 0;
if (p.cap()) n++;
if (p.creditcard()) n++;
if (p.email()) n++;
[...]
if (p.price()) n++;
if (p.url()) n++;
if (p.zip()) n++;
if (n == 0) p.standard();
正如代碼說,我需要調用多種方法(我不不知道它們的有限數量)。每個p。()*方法返回一個布爾值,並且n僅在返回的值爲true時遞增。如果n == 0(這發生在EVERY方法返回false時),那麼我需要調用p.standard()。
如何編寫更清晰高效的代碼?我試圖與或條件,這樣的事情:
if (!(p.cap() || p.email() || p.isbn() || p.number() || p.phone() ||
p.price() || p.time() || p.url() || p.zip() || p.creditcard()
)) {
p.standard();
}
但顯然它並沒有正常工作(例如:如果p.cap()返回true,其他方法不叫)。
我需要調用每種方法。
也許:http://codereview.stackexchange.com/? –
謝謝,我來看看。 – HBv6
java編譯器通常會做很多優化,所以我會保留一段這樣的代碼,而不是簡短的可讀性。 – jayeff