java - 数组不应由数组初始化程序静态初始化。为什么?

标签 java arrays static-analysis

这是来自 Google 静态分析器 CodePro AnalytiX 的规则之一:

总结

数组不应由数组初始化器静态初始化。

说明

此审核规则检查使用数组初始化程序初始化(在初始化程序中或在赋值语句中)的数组变量。

示例

由于使用了数组初始值设定项,以下数组声明将被标记:

int[] values = {0, 1, 2};

现在,如果我不喜欢它,我可以禁用它,这不是问题。但我想知道为什么这会是一个问题,以及防止该代码被审计规则标记的解决方案是什么?

最佳答案

这是一个有趣的问题,恕我直言,这个决定毫无根据。 (如果这个设计决定背后有正当理由,我希望其他人能回答这个帖子)。

此外,Google 在其良好实践格式化指南 https://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s4.8.3.1-array-initializers 中展示了如何格式化这些静态初始化器。不用说使用这些结构有多糟糕......

我猜那个规则背后的人只是反对这种编程风格:)

关于java - 数组不应由数组初始化程序静态初始化。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27015966/

相关文章:

java - 小键盘的 JTextField 问题

java - 检查 Class 对象是否是 Java 中另一个 Class 对象的子类型?

javascript - jquery 停止对象排序

c++ - 如何创建包含每个函数的 LOC 的列表 (C++)

static-analysis - 覆盖率分析 : ignore 3rd party libraries

java - JFrame Action 监听器

java - 无法识别 OLE 流

arrays - 从字符数组转换时的字符串长度

javascript - 如何声明数组中的键值对并为其赋值

java - 为什么不建议将硬编码的绝对路径名传递给 File 对象构造函数 File(String)