2014-01-13 29 views
2

在過去一年左右的時間裏,我習慣於在條件語句和邏輯分配中習慣使用等價而不是否定。條件:否定或等價爲假?

舉例來說,我會用:中

- if(item.IsEnabled == false) 
- return x == false; 

代替

- if(!item.IsEnabled) 
- return !x; 

這樣做的原因是,我覺得否定更難看到直觀,更容易引進意外的邏輯錯誤。我的理由是,只有'是'而不是'是'和'不是',閱讀代碼應該更容易(可讀性)。

例如:

如果this.Enabled是假和THIS.VISIBLE

代替

如果不this.Enabled和THIS.VISIBLE

雖然我認爲這對我來說是最好的,我可以讓自己相信它的確如此。當然,在我的私人項目中並不重要;最適合我的是最好的。然而,在自由和開放源碼軟件項目或工作職業領域,我顯然想要使用實際上最好的,並能夠捍衛我對這個問題的立場。因此,我想問:接近這一般的最佳方式是什麼?

謝謝!

回答

1

它們完全相同,所以沒有優化問題或類似的東西。

唯一的決定因素是可讀性和個人喜好。

至於...

我顯然要使用其實是最好的東西,並能捍衛主題

我的位置......聽起來像你對我是能夠很好地保護你的位置。剛剛閱讀你在問題中寫的東西:)