这是来自 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/