2011-04-07 177 views
37

人們想出了什麼樣的佈局文件命名約定。佈局文件命名約定?

我還沒有找到任何東西,但想到使用以下約定。

大家怎麼想?

- activity_* 
- dialog_* 
- list_item_* 

這就是我迄今爲止所做的一切。

另外,根據其佈局命名活動呢?例如:

-> res 
    -> layout 
     -> activity_about_us.xml 
-> src 
    -> activity 
     -> AboutUs.java 

回答

26

奇怪的是,試圖谷歌這個問題帶來的只是這個頁面,因爲有意義的結果... 在過去的半年中,我使用的命名約定與您的命名約定相似,但前綴較短。例如: 對於顯示「關於我們」屏幕的活動:

類別名稱ActAboutUs。前綴類有點矯枉過正,但它清楚地區分了活動類和其他類。最初,我使用單獨的目錄進行所有活動(類似於您的方法),但過了一段時間後,我意識到對於更大的應用程序而言,最好按功能進行分組而不是超級分組(即Activity)。當我使用設置時,我在單個目錄中工作比較容易,例如/src/settings/。這樣一來,我需要所有的Java文件都在一個單一的目錄,所以我不必四處流浪:

/src/settings/ActSettingsGlobal.java 
/src/settings/ActSettingsNet.java 
/src/settings/Settings.java 
/src/settings/SettingsDBAdapter.java 
/src/settings/etc... 

這種方法還有助於分割不同的開發人員之間的工作,即每個人在自己的工作dir在單獨的功能,所以沒有踩在彼此的腳上:-)。

有些人preffer後綴,但我發現他們沒那麼有用。前綴有助於按照上面的例子按字母順序對事物進行分組:Act*前綴首先排序,因此所有活動都方便地位於頂部。

我甚至考慮使用Act_作爲前綴哪個更可讀,雖然它與Java命名約定衝突......

佈局文件名act_about_us.xml。在res/layout/我們沒有子目錄的「奢侈品」,這是很不幸的這麼一羣事物的唯一方式是使用適當的前綴像act_dlg_等..

字符串ID<string name="act_about_us_dlg_help1_title" ... string.xml是我們遇到問題最多的地方是重複的name s。如果不使用命名約定如activity_element_item,則創建重複項非常容易。它增加了許多額外的輸入,但它可以在以後避免大量混淆。 對於全局(應用範圍)字符串,我們使用前綴"global_",例如global_btn_okglobal_msg_no_inet_conn。通常我們讓一個人對所有的global_字符串負責,所以如果有人需要新的字符串或更改,他需要與他同步,以避免造成混亂。

(現在我意識到activity__element__item(兩個下劃線)是更清晰,比activity_element_item可讀)

總之,我仍然無法擺脫的感覺,有什麼毛病我的方法,因爲我不能相信谷歌開發人員在處理文件,ID,名稱等時創建了這樣一個不便的框架......

+6

我一直在尋找一些指導方針來跟蹤我自己,因爲你發現我發佈了這個問題。 – Salsero69 2011-06-13 16:21:53

+0

您是否找到更好的解決方案? – Shreyans 2016-03-14 22:05:00

9

我認爲以下命名約定應遵循

的活動

如果我們的活動名稱是

DisplayListActivity 

那麼我們layoutname應該

display_list_activity.xml 

列表項,我們可以在列表中包含的項目佈局名稱類別

country_list_item.xml 

和dialogboxes他們的行動可以包括

delete_country_dialog.xml 
5

當尋找一組佈局時,我傾向於在他們上面工作,我發現總是預先輸入類名並跟隨任何子佈局是有效的。比如:

類名稱:AboutActivity.java
佈局名稱:about_activity.xml
子佈局名稱:about_activity_menu.xml
副子佈局名稱:about_activity_menu_item.xml

您的活動將總是處於每個分組的頂部,並且非活動的搜索變得更少·霍爾。任何人都知道爲什麼子文件夾不是什麼東西了?我期待後端的效率和簡單性,但我想它不會太傷人。

+0

這並不是AndroidStudio默認的方式 – Nacho 2016-03-01 03:59:08

1

佈局文件名的第一部分應始終是相應類的類型。 例如,如果我們有一個類MainActivity(類型爲Activity在這種情況下),相應的佈局文件應該被稱爲activity_main.xml

這意味着,可以說,我們有一個對話叫WarningDialog,相應的佈局文件應該被稱爲dialog_warning.xml ,同樣適用於片段等。

這看起來似乎很熟悉,因爲這也是在Android Studio中創建新項目時命名的activity/layout文件(MainActivity - >activity_main.xml)。

0

這是一個很好的閱讀https://jeroenmols.com/blog/2016/03/07/resourcenaming/

基本上,你跟着WHAT WHERE DESCRIPTION SIZE

例如,佈局文件

  • activity_main:在MainActivity
  • fragment_articledetail的內容視圖:查看Articl eDetailFragment

  • articledetail_title:ArticleDetailFragment
  • feedback_explanation的標題:在FeedbackFragment反饋解釋

繪製 - all_infoicon_large:大版本的通用信息圖標 - all_infoicon_24dp:24dp通用信息圖標的版本