私有最终静态变量名的Android编码指南
所以我知道私人Var是以“s”开头的私有最终静态变量名的Android编码指南,android,coding-style,Android,Coding Style,所以我知道私人Var是以“s”开头的 private static int sSomeInt; 但是那些同样是最终版本的呢 我喜欢publicstaticfinal变量名在所有大写字母中,因为在我看来,我不能在所有大写字母中修改变量。对我来说,这两个人对我来说太像了,尽管他们本应该是不同的 private static int sMutableInt; private static final int sImmutableInt; 而且我不能从变量名本身的样式判断我不能重新分配sImmuta
private static int sSomeInt;
但是那些同样是最终版本的呢
我喜欢publicstaticfinal
变量名在所有大写字母中,因为在我看来,我不能在所有大写字母中修改变量。对我来说,这两个人对我来说太像了,尽管他们本应该是不同的
private static int sMutableInt;
private static final int sImmutableInt;
而且我不能从变量名本身的样式判断我不能重新分配sImmutableInt
(仅通过它的实际名称)
源代码通常
对所有静态final
数据成员(无论是公共的还是私有的)使用\u ALL \u CAPS\u和\u下划线
。源代码通常对所有静态final
数据成员(无论是公共的还是私有的)使用\u ALL \u CAPS\u和\u下划线
。这基本上取决于Java代码Android源代码及其SDK使用常量的所有大写和下划线约定
我猜Android遵循的是谷歌Java风格:
关于你的问题:
// 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"};
这基本上取决于您坚持的Java代码约定。Android源代码及其SDK对常量使用全大写和下划线约定 我猜Android遵循的是谷歌Java风格: 关于你的问题:
// 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"};
你是否特别提到了对开源Android代码的更改,你可能会为此做出贡献?这是“规则”唯一适用的地方(而不是你可能开发的运行在Android上的应用程序).当然可以,但我还是愿意坚持这些建议来开发我自己的应用程序/代码。我想这会让我成为一个共产主义者,但我更喜欢标准化的编码。你是不是在专门谈论开源Android代码的变化,你可能会为此做出贡献?这是唯一适用“规则”的地方(不适用于你可能开发的运行在Android上的应用程序)。当然,但我还是希望对我自己的应用程序/代码坚持这些建议。我想这会让我成为一个共产主义者,但我更喜欢用下划线编码所有大写字母的标准化是针对公共静态最终常量。因此,原始问题中的情况将符合“规则”。(sImmutableInt)嗯,这似乎是正确的,而且更直观。出于好奇,你见过多少次?(超过30次?)@戴维特:次数多得数不清。欢迎您查看Android源代码,并查看使用中的这种模式,例如和。反过来看,我想不起来曾经看到过
静态final
没有使用大写和下划线的样式。@commonware很棒。我只是想确定一下。是的,我同意,这就是我看到的n还有很多android源代码。让这个答案不被接受一段时间,看看其他人是否有任何不同的有趣观点(因为这个问题有点主观)。所有带下划线的大写都是用于公共静态最终常量。因此,原始问题中的情况将与“规则”匹配。(sImmutableInt)嗯,这似乎是正确的,而且更直观。出于好奇,你见过多少次?(超过30次?)@戴维特:次数多得数不清。欢迎您查看Android源代码,并查看使用中的这种模式,例如和。反过来看,我想不起来曾经看到过静态final
没有使用大写和下划线的样式。@commonware很棒。我只是想确定一下。是的,我同意,这就是我看到的n还有很多android源代码。让这个答案不被接受一段时间,看看其他人是否有不同的有趣观点(因为这个问题有点主观)