我应该把我的常数大都化吗?

Tim*_*eld 8 language-agnostic coding-style constants

你们有什么感想?常量应该大写吗?或者这是一个古老的做法?所以...

const int MY_CONSTANT = 5;
Run Code Online (Sandbox Code Playgroud)

const int myConstant = 5;
Run Code Online (Sandbox Code Playgroud)

Gre*_*ech 12

您应该执行您正在使用的语言/平台的约定.例如,在.NET中常量应该是pascal cased,例如

SomeConstant
Run Code Online (Sandbox Code Playgroud)

在其他语言中,它可能会有所不同.


Dar*_*con 6

全大会议是为宏发明的,那里有充分的理由大喊:"小心!一个宏!" (有很多方法可以搞砸.)语言级别的常数是一种驯服的野兽,但公约仍然存在.

用你的判断; 那里有一个强大的惯例,就像我在Java世界中所想的那样,打击它是浪费精力.


jam*_*esh 5

有效的Java建议您使用不可变static final值的大写和下划线.否则,它们不是恒定的.

public static final String  ID_FOO_BAR = "org.acme.foo.bar";
public static final List<String> sList = new List<String>();
public static final List<String> LIST = Collections.unmodifiableList(sList); 
public static final String[] sArray = new String[] {"foo", "bar", "baz" }; // FindBugs complains, if this is public.
public static final List<String> ARRAY = Arrays.asList(sArray);
Run Code Online (Sandbox Code Playgroud)

这是引用:

按照惯例,这些字段的名称由大写字母组成,单词由下划线分隔.这些字段包含原始值或对不可变对象的引用至关重要.

...否则,如果可变对象看起来像常量,他们会因此而感到困惑.