2012-10-01 128 views
4

這是一個針對Android開發者的問題,但它不是一個與編程相關的問題,因爲它隻影響開發人員。Android:命名資源

什麼約定是最常用的命名各種資源,如顏色,drawables和字符串等?

我毫不懷疑命名我的佈局activity_mainlayout_secondary。但是,我一直懷疑以前提到的命名資源。我永遠不知道我是否應該在使用這些資源或內容後對其進行命名。例如:

  • 顏色:dark_blue VS text_highlighted
  • 繪製對象:blue_gradient VS top_bar_background
  • 字符串:welcome_to_app VS first_time_prompt

是否有好的做法任何社區創建的資源?

回答

2

命名是非常個人的喜好。只要名稱表明所定義事物的功能是什麼,名稱就是完美的。此外,您和任何其他使用這些定義的開發人員應該知道名稱的含義以及要選擇的定義。如果你在整個項目中與名稱保持一致,那很容易。

例如dark_blue顯然是藍色,而text_highlighted是高亮文本的顏色。你應該使用的名字取決於你需要的東西:如果你想按照他們的名字來分類顏色,首先,如果你喜歡從實際顏色抽象出第二個。對於使用text_highlighted的常規佈局,通常會更有意義,因爲實際顏色無關緊要,而功能(文本高亮顯示和文本常規等)更爲重要。在這個例子中,在text_highlightedtext_regular之間選擇比在color_light_bluecolor_dark_blue之間選擇要明顯得多,儘管它們可以指代相同的顏色。該名稱可以幫助防止錯誤。

Android使用名稱前綴[android.R.drawable] (http://developer.android.com/reference/android/R.drawable。HTML),例如:

  • ​​的按鈕圖形
  • ic_爲圖標的圖形
    • ic_menu_菜單圖標
    • ic_dialog_的對話圖標
  • stat_的狀態圖標

模式當然不是完美的,但使用以最一般分類開頭的前綴的優點是可以使用代碼完成來逐步搜索特定項目。所以color_blue_dark可能比dark_blue_color更好,至少如果你認爲顏色分類比黑暗/淺色分類更重要。這同樣適用於first_time_prompt。如果您有很多prompt s,將它們命名爲prompt_first_timepromt_other_time,...如果它們可以按照可用作超級類別的活動進行分類:mainactivity_prompt_*secondactivity_prompt_*因此您知道它們屬於哪個區域。

1

Android SDK將是良好實踐的良好開端。您可以在SDK中打開任何示例代碼並瀏覽代碼並查看變量名稱。

+0

好點。太糟糕了,他們似乎使用混合慣例。 – Pijusn

1

我通常會爲其內容命名資產,如顏色和圖片,但是我會爲其功能命名一個樣式或多個狀態drawable。

例如: button_On.png; button_Off.png; button.xml

,如果我想使用在多個地方相同的資源它不會混淆的方式。 例如,在一個樣式文件中使用顏色作爲文本顏色,在另一個樣式文件中使用背景。

+0

你不能用大寫字母命名資源文件。 – Shrikant

+0

我編輯了這個例子 –