奇怪的是,试图用谷歌搜索这个问题只会把这个页面作为有意义的结果......
在过去的半年里,我使用的命名约定与您的类似,但前缀更短。例如:
对于显示“关于我们”屏幕的活动:
类名:ActAboutUs。为类添加前缀有点矫枉过正,但它清楚地将活动类与其他类区分开来。最初我为所有活动使用单独的目录(类似于您的方法),但一段时间后我意识到对于更大的应用程序,按功能分组目录可能比按超类(即活动)分组更好。当我在设置上工作时,我更容易在单个目录中工作,例如 /src/settings/。这样我需要的所有 java 文件都在一个目录中,所以我不必四处走动:
/src/settings/ActSettingsGlobal.java
/src/settings/ActSettingsNet.java
/src/settings/Settings.java
/src/settings/SettingsDBAdapter.java
/src/settings/etc...
这种方法还有助于将工作分配给不同的开发人员,即每个人都在自己的目录中开发不同的功能,因此不会互相踩脚:-)。
有些人喜欢后缀,但我发现它们不太有用。前缀有助于按字母顺序对事物进行分组,如上例所示:Act* 前缀首先排序,因此所有活动都方便地位于顶部。
我什至考虑使用Act_作为前缀,虽然它与java命名约定冲突...
布局文件名:act_about_us.xml。在res/layout/ 中,我们没有“奢侈”的子目录,这是非常不幸的,因此对事物进行分组的唯一方法是使用适当的前缀,如act_、dlg_ 等......
字符串 ID:<string name="act_about_us_dlg_help1_title" ...
string.xml 是我们遇到重复 names 问题最多的地方。如果不使用 activity_element_item 之类的命名约定,则很容易创建重复项。它增加了很多额外的输入,但它可以让你免于以后的很多混乱。
对于全局(应用程序范围)字符串,我们使用前缀"global_",例如global_btn_ok、global_msg_no_inet_conn。通常我们让一个人负责所有global_ 字符串,所以如果有人需要新字符串或更改,他需要与他同步以避免造成混乱。
(现在我意识到activity__element__item(两个下划线)比activity_element_item 更清晰易读)
总而言之,我仍然无法摆脱我的方法有问题的感觉,因为我无法相信 google 开发人员在处理文件、ID、名称时创建了如此不方便的框架,等等……