簡體   English   中英

如果條件命名約定

[英]If condition naming convention

我有一個布爾函數來檢查 scandata 鍵是否有效。 我將其命名為:

areScandataKeysValid()

對於命名約定,它應該命名為 isScandataDataKeysValid() 還是像我上面所做的那樣?。 在 Clean Code book 中,我只看到了帶有is版本的示例。 所以,我很困惑哪個有意義? 從語法上講,“”是肯定的。

isName()約定是 JavaBeans 標准的一部分,適用於布爾值屬性。

  • 如果您的 API 不需要與 JavaBeans 兼容,則可以忽略該約定。

  • 如果您檢查掃描鍵的方法不打算用作“屬性”的 getter,則isName()約定不適用。

由於語法上的不協調,我同意您更喜歡areScandataKeysValid不是isScandataKeysValid 還有其他替代方案需要考慮; 例如

  • 謂詞的hasValidScandataKeys ,或
  • validateScandataKeyscheckScandataKeys用於(通常)拋出異常以指示無效的方法。

我不知道任何有利於上述任何一項的記錄約定(即樣式指南)。 (沒有人說“良好的語法”是必不可少的。)

底線:您的選擇。

我認為“是”或“是”是多余的。 最重要的是謂詞函數有一個形容詞作為最后一個詞。 因此,我將方法命名為scanDataKeysValid ,或者如果從類的上下文中可以清楚地看到,則簡單地命名為 keysValid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM