這裏http://source.android.com/source/code-style.html#follow-field-naming-conventions它指出:Android私人領域命名指南可以嗎?
字段名稱
- 非公開,非靜態字段名稱以米
- 靜態字段名稱以s開頭。
- 其他字段以小寫字母開頭。
- 公共靜態final字段(常量)是ALL_CAPS_WITH_UNDERSCORES。
它還指出:
下面的規則並不指南或建議,但嚴格的規定。您可能不會忽視我們下面列出的規則,除非在需要使用的基礎上批准。
我不喜歡在班級中的私人或包字段之前的「m」約定。我真的覺得這沒有啓發意義,我的意思是,如果我們嘗試應用好的設計,那麼這些類的低耦合意味着幾乎沒有公共領域。實際上,在我的程序中,我通常沒有公共字段,即使當我需要一些我使用的getter和setter ...
那麼,爲什麼我應該強制幾乎所有的字段在程序中用「m」在他們面前?擁有少數公共領域,如果有的話,在前面有些「g」或什麼的話,會不會更容易?或者像bean一樣使用setter和getters? 這真的讓我的代碼難以閱讀....
此外,遵循這些準則,方法中使用的局部臨時變量沒有限制,因此它們很容易被誤認爲公共全局字段(也沒有限制)。 。這也是我發現是錯誤的,因爲它是一個可能的錯誤來源... 我明白有一個區別於字段的方法,但私有/受保護的成員字段是最常用的應用程序,他們不應該不太「可讀」。
您認爲如何?我應該遵循指導方針嗎?
像這樣的前綴的原因之一經常要求是防止隱藏成員字段。例如,如果您沒有任何前綴,那麼您通常對構造函數或setter方法具有與成員字段名稱相同的參數。在這種情況下,您必須使用「this」訪問成員字段。在它隱藏的時候在它前面。程序員偶爾會忘記「這個」,這會導致錯誤。公共領域的前綴不是很有用,因爲無論如何公共領域都不需要引用setter。 – 2010-01-31 01:50:58
我其實更喜歡私人領域的m_前綴,因爲它使您的類方法更易於閱讀。這些約定被使用,因爲代碼閱讀比它的書面更多...我認爲這就是代碼完成somwhere? – 2010-10-05 03:07:46
我同意你..我不喜歡「米」的約定,我很樂意不使用它 – hendrix 2013-03-15 12:42:17