阿里Android開發規範:資原始檔命名與使用規範

leeyh發表於2018-03-06

以下內容摘自 阿里巴巴Android開發手冊

我們的目標是:

  • 防患未然,提升質量意識,降低故障率和維護成本;
  • 標準統一,提升協作效率;
  • 追求卓越的工匠精神,打磨精品程式碼。
  • 【強制】必須遵守,違反本約定或將會引起嚴重的後果;
  • 【推薦】儘量遵守,長期遵守有助於系統穩定性和合作效率的提升;
  • 【參考】充分理解,技術意識的引導,是個人學習、團隊溝通、專案合作的方向。

阿里Android開發規範:資原始檔命名與使用規範
阿里Android開發規範:四大基本元件
阿里Android開發規範:UI 與佈局
阿里Android開發規範:程式、執行緒與訊息通訊
阿里Android開發規範:檔案與資料庫
阿里Android開發規範:Bitmap、Drawable 與動畫
阿里Android開發規範:安全與其他

1、【推薦】資原始檔需帶模組字首。
2、【推薦】layout 檔案的命名方式。

Activity 的 layout 以 module_activity 開頭
Fragment 的 layout 以 module_fragment 開頭
Dialog   的 layout 以 module_dialog 開頭
include  的 layout 以 module_include 開頭
ListView 的 item layout 以 module_list_item 開頭
GridView 的 item layout 以 module_grid_item 開頭
RecyclerView 的 item layout 以 module_recycle_item 開頭
複製程式碼

3、【推薦】 drawable 資源名稱以小寫單詞+下劃線的方式命名,根據解析度不同存放在不同的 drawable 目錄下,建議只使用一套,例如 drawable-xhdpi。採用規則如下:

模組名_業務功能描述_控制元件描述_控制元件狀態限定詞
如:module_login_btn_pressed,module_tabs_icon_home_normal
複製程式碼

4、【推薦】anim 資源名稱以小寫單詞+下劃線的方式命名,採用以下規則:

模組名_邏輯名稱_[方向|序號]
tween 動 畫 資 源 : 盡 可 能 以 通 用 的 動 畫 名 稱 命 名 , 
如 module_fade_in , module_fade_out , module_push_down_in (動畫+方向);
frame 動畫資源:儘可能以模 塊+功能命名+序號。
如:module_loading_grey_001
複製程式碼

5、【推薦】color 資源使用#AARRGGBB 格式,寫入 module_colors.xml 檔案中,命名格式採用以下規則:

模組名_邏輯名稱_顏色
如: <color name="module_btn_bg_color">#33b5e5e5</color>
複製程式碼

6、【推薦】dimen 資源以小寫單詞+下劃線方式命名,寫入 module_dimens.xml 檔案中,採用以下規則:

模組名_描述資訊
如: <dimen name="module_horizontal_line_height">1dp</dimen>
複製程式碼

7、【推薦】style 資源採用小寫單詞+下劃線方式命名,寫入 module_styles.xml 檔案中,採用以下規則:

父 style 名稱.當前 style 名稱
如:  <style name="ParentTheme.ThisActivityTheme">
		…
	  </style>
複製程式碼

8、【推薦】string資原始檔或者文字用到字元需要全部寫入module_strings.xml檔案中,字串以小寫單詞+下劃線的方式命名,採用以下規則:

模組名_邏輯名稱
如:moudule_login_tips,module_homepage_notice_desc
複製程式碼

9、【推薦】Id 資源原則上以駝峰法命名,View 元件的資源 id 需要以 View 的縮寫作為字首。常用縮寫表如下:

控制元件 縮寫
LinearLayout ll
RelativeLayout rl
ConstraintLayout cl
ListView lv
ScollView sv
TextView tv
Button btn
ImageView iv
CheckBox cb
RadioButton rb
EditText et

其它控制元件的縮寫推薦使用小寫字母並用下劃線進行分割,例如: ProgressBar 對應的縮寫為 progress_bar DatePicker 對應的縮寫為 date_picker

10、【推薦】大解析度圖片(單維度超過 1000)大解析度圖片建議統一放在 xxhdpi 目錄下管理,否則將導致佔用記憶體成倍數增加。 說明: 為了支援多種螢幕尺寸和密度,Android 為多種螢幕提供不同的資源目錄進行適配。為不同螢幕密度提供不同的點陣圖可繪製物件,可用於密度特定資源的配置限定符(在下面詳述) 包括 ldpi(低)、mdpi(中)、 hdpi(高)、xhdpi(超高)、xxhdpi (超超高)和 xxxhdpi(超超超高)。例如,高密度螢幕的點陣圖應使用 drawable-hdpi/。根據當前的裝置螢幕尺寸和密度,將會尋找最匹配的資源,如果將高解析度圖片放入低密度目錄,將會造成低端機載入過大圖片資源,又可能造成 OOM,同時也是資源浪費,沒有必要在低端機使用大圖。 正例: 將 144144 的應用圖示 PNG 檔案放在 drawable-xxhdpi 目錄 反例: 將 144144 的應用圖示 PNG 檔案放在 drawable-mhdpi 目錄 擴充套件參考: https://developer.android.com/guide/practices/screens_support.html?hl=zh-cn

阿里Android開發規範:資原始檔命名與使用規範
阿里Android開發規範:四大基本元件
阿里Android開發規範:UI 與佈局 阿里Android開發規範:程式、執行緒與訊息通訊
阿里Android開發規範:檔案與資料庫
阿里Android開發規範:Bitmap、Drawable 與動畫
阿里Android開發規範:安全與其他

相關文章