簡體   English   中英

Android小部件的命名約定

[英]Naming convention for Android widgets

我認為Google的官方代碼樣式指南非常有幫助,但它們並未涵蓋視圖元素的命名約定。

假設我們簡單的Activity包含一個ImageView,一個TextView和Button。 代碼如下所示:

class SimpleActivity extends Activity {

     private ImageView mImageView;
     private TextView mTextView;
     private Button mButton;
}

當然,我們不會為小部件命名,因為它們不是描述性的。 我們應該知道此小部件的功能。 因此,讓我們假設ImageView代表用戶個人資料圖像,TextView代表用戶名,Button代表繼續按鈕。

我將可能的命名約定分為三類:

1。

class SimpleActivity extends Activity {

     private ImageView mUserProfileImageView;
     private TextView mUsernameTextView;
     private Button mContinueButton;
}

第一約定的最大優點是,在代碼中使用成員時,我們知道這是TextView,例如,可以使用“ setText()”方法。 不幸的是名字很長,因為懶惰的程序員是好程序員,這是它的缺點。

2。

class SimpleActivity extends Activity {

     private ImageView mUserProfileImage;
     private TextView mUsernameText;
     private Button mContinueButton;
}

在這里,我們有不同的約定,我們仍然知道在代碼中的某處使用它是什么類型的小部件,但是也許當我們擁有更復雜的小部件功能時,這些名稱仍然太長嗎?

3。

class SimpleActivity extends Activity {

     private ImageView mUserProfile;
     private TextView mUsername;
     private Button mContinue;
}

最懶的類別。

您在代碼中使用哪些命名約定,您的經驗是什么? 也許有我沒有提到的更好的約定? Google使用哪種約定?

首先,在AOSP源代碼中使用'm'前綴。 它不打算在Android應用程序中用作對流 ,因此建議您將其刪除(您可以在此處閱讀更多內容)。

您的第三個選擇是第一個消除的選擇; 例如, mContinue可以很容易地是一個布爾變量,表示是否要繼續執行某項操作,因此它絕對不是很可讀。

在第一個選項和第二個選項之間,我仍然會選擇第一個選項,因為它的可讀性明顯更高,並且作為OOP的一般規則,可讀性比短名稱更重要。 此外,如果將視圖的自定義和數據綁定方法移動到其他類,那么活動代碼中的引用量將最少。

暫無
暫無

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

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