数组不应由数组初始值设定项静态初始化。为什么?

这是谷歌静态分析仪CodePro AnalytiX的规则之一:

摘要

数组不应由数组初始值设定项静态初始化

说明

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

示例

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

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

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

这是一个有趣的问题,这个决定毫无根据。(如果这个设计决定背后有合法的理由,我希望其他人会回答这个问题)

此外,Google在其良好实践格式化指南中展示了如何格式化这些静态初始值设定项https://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s4.8.3.1-数组初始值设定项,但没有说明使用这些结构有多糟糕

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

发表评论