2013-08-16 66 views
7

這個問題讓我陷入了一段時間。在編程過程中,經常會遇到物體中是否存在物體的問題。爲此,發明了isEmpty方法。太好了,但實際上我們幾乎每時每刻都在使用它,如!isEmpty爲什麼總是有空,而我用!isEmpty 99%的時間

因此,notEmpty將會是一個更受讚賞的除了像Java這樣的語言。問題是:在定義API之前,語言設計者爲什麼不這樣想?至少給對方isEmpty

編輯:我的意思是應該有notEmpty以及isEmpty。根據域,它們都可以使用,但在大多數情況下,當UI不涉及時,我認爲notEmpty適用更好。

EDIT2:要關閉的討論,這裏有一個例子:

!metadata.isEmpty() == metadata.notEmpty() 

我寧願我們有等式的右邊爲好。

+0

我不同意99%的部分。我已經使用了isEmpty幾乎50%的時間,其餘時間!isEmpty。 –

+2

爲什麼不呢?僅僅因爲你使用'!isEmpty'並不意味着其他所有人都會......我個人認爲語句更合乎邏輯 - 恕我直言 – MadProgrammer

+1

如果有的話,以'is'開頭的方法名稱比以' not'。 –

回答

6

isEmpty如下的其他語法積極isXXX方法,如isVisibleisEnabled

+2

Bah,我應該發表我的評論作爲答案:P –

+0

我感謝您的意見@AlexMDC。 – allprog

+0

是的,但你可以找到一個積極的詞,這意味着不是空的。像「isGotSomethingInIt」,但語法。或者我們是否認爲我們在積極的詞彙服飾中有這個負面的概念,純粹是因爲英語對非空詞沒有簡單的詞彙? –

4

我認爲它遵循使用布爾代碼is[Something]()代替get[Something]()的約定。另外,不得不使用!notEmpty()可能會讓人有點困惑!

2

我的意見是命名約定,這是更符合邏輯,因爲像==!=。從邏輯上來說,最好有isEmpty!isEmpty,這很容易理解。

相關問題