私有FINAL静态变量名称的Android编码指南

时间:2014-03-11 23:08:57

标签: android coding-style

所以我得到的私人变量开始于'喜欢

private static int sSomeInt;

但是那些final呢?

我喜欢public static final变量名称全部上限,因为在我看来,我无法修改全部大写的变量。对我来说,这两个人对我来说感觉太多了,即使他们应该有所不同?

private static int sMutableInt;
private static final int sImmutableInt;

我无法通过变量名称本身的样式来判断我无法重新分配sImmutableInt(仅通过其实际名称)

  1. Android不关心这些吗? (https://source.android.com/source/code-style.html
  2. 中未提及
  3. 这种情况的常见做法是什么?

2 个答案:

答案 0 :(得分:3)

所有USES_ALL_CAPS_AND_UNDERSCORES数据成员的源代码static final通常为公共或私有。

答案 1 :(得分:2)

这基本上取决于你坚持的Java代码约定。 Android源代码及其SDK使用常量的全部大写和下划线约定。

我猜Android正在关注 Google Java Style http://google-styleguide.googlecode.com/svn/trunk/javaguide.html

关于您的问题:

// Constants
static final int NUMBER = 5;
static final ImmutableList<String> NAMES = ImmutableList.of("Ed", "Ann");
static final Joiner COMMA_JOINER = Joiner.on(',');  // because Joiner is immutable
static final SomeMutableType[] EMPTY_ARRAY = {};
enum SomeEnum { ENUM_CONSTANT }

// Not constants
static String nonFinal = "non-final";
final String nonStatic = "non-static";
static final Set<String> mutableCollection = new HashSet<String>();
static final ImmutableSet<SomeMutableType> mutableElements = ImmutableSet.of(mutable);
static final Logger logger = Logger.getLogger(MyClass.getName());
static final String[] nonEmptyArray = {"these", "can", "change"};

http://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s5.2.4-constant-names

例如,您可以查看View班级(http://developer.android.com/reference/android/view/View.html#GONE)。

public static final int GONE = ...