Java Android视图字段名称约定

Java Android视图字段名称约定,java,android,android-layout,android-view,Java,Android,Android Layout,Android View,例如,我有一个id为的视图: <ImageButton android:id="@+id/imageButtonStart" android:layout_width="100dp" android:layout_height="100dp" /> 虽然保持内容一致并使用相同的变量名称是一种很好的做法,但您不需要调用与XML中id相同的类变量,因为您将在代码中手动连接这些变量,例如: ImageButton imageButtonNo

例如,我有一个id为的视图:

<ImageButton
        android:id="@+id/imageButtonStart"
        android:layout_width="100dp"
        android:layout_height="100dp" />

虽然保持内容一致并使用相同的变量名称是一种很好的做法,但您不需要调用与XML中id相同的类变量,因为您将在代码中手动连接这些变量,例如:

ImageButton imageButtonNotStart = (ImageButton) this.findViewById(R.id.imageButtonStart);
我个人喜欢使用XML中的格式
componentTypeDescriptiveName
,如
imageButtonStart
,但在代码中我更喜欢英语驱动的方法,如
startButton

通常,我会以

<ImageButton
        android:id="@+id/imageButtonStart"
        android:layout_width="100dp"
        android:layout_height="100dp" />

ImageButton startButton = (ImageButton) this.findViewById(R.id.imageButtonStart);

ImageButton开始按钮=(ImageButton)this.findViewById(R.id.imageButtonStart);
我需要一个同名的私有字段吗

不,布局xml文件中的
android:id
不要求您的代码中有同名变量

但是如果您搜索id,则需要使用确切的名称

View randomName = findViewById(R.id.imageButtonStart);
命名是很多个人喜好。您应该选择清楚定义命名对象所代表内容的名称。你应该和你的命名方案保持一致

这个名字应该有多长是有争议的,有些人会选择
startBtn
而不是
imageButtonStart
,因为它在你的代码中更短,也不那么烦人。如果按钮是一个
ImageButton
这一事实与您的代码无关,您不需要将其命名为
ImageButton
,只需
按钮
就足以使其含义清晰

有些人喜欢将名字与最重要的区分符放在第一位的层次结构一起使用。就像Java和Android软件包名
com.google.market
而不是
market.google.com

他们没有选择开始按钮和结束按钮,而是选择了开始按钮和结束按钮。这背后的原因是,您可以更有效地使用自动完成。如果您不记得是将结束按钮命名为
endButton
还是
stopButton
,则需要查看整个提案列表。使用
buttonXYZ
方案,您可以开始键入
button
,因为您知道这是一个按钮,只会得到几个建议

以上也是一个很好的例子,为什么你应该保持一致。如果您命名一个按钮
buttonStart
,另一个按钮
clickablethingStop
则整个方案无效。不一致的命名需要更多的时间来找到正确的东西,如果选择了错误的东西,可能会导致错误

另一件事是你用来命名的语言。如果您只为自己或说自己语言的人编写代码,那么使用自己的语言是完全可以的。但一旦你想和别人分享,就要坚持用英语。即使是不正确的英文名称也比你根本不懂的语言名称更容易阅读和理解

还有许多其他命名约定:

例如,Android声明:

  • 非公共、非静态字段名以m开头
  • 静态字段名以s开头
  • 其他字段以小写字母开头
  • 公共静态最终字段(常量)都是带下划线的大写字母
它将是
private ImageButton mbutnstart
私有静态单一事物

顺便说一句,只有当你想为Android源代码做贡献时,才需要使用这种约定,你可以用任何风格编写自己的应用程序

您真正应该遵循的唯一命名约定是通用Java类/方法/变量模式:(从上面的wikipedia链接)

  • 类名:大写
  • 方法名称:lowerCamelCase
  • 变量名称:lowerCamelCase
  • 常数:所有大写字母

如果其他人阅读了你的代码,而你有小写的类名等,这会让他们感到非常困惑。

xml id和类字段之间的最佳名称约定是什么?在这种情况下,类字段的更好名称是什么。@使用相同名称的testCoder是一种很好的方法。您在代码中使用的名称完全由您决定。但如果你使用的名字不会让你感到困惑,你可以自己取。例如,
startButton
应该清楚它是布局中的开始按钮。
View randomName = findViewById(R.id.imageButtonStart);