【问题标题】:Error in Sonar rule wrt below code代码下方的声纳规则错误
【发布时间】:2016-04-04 06:44:48
【问题描述】:

虽然对于以下代码,我们在声纳中遇到错误:

 entityBuilderMap = Maps.newHashMap(); 

在声纳中给出错误:

Dodgy - 从实例方法写入静态字段

有人可以建议如何解决它

【问题讨论】:

  • 你的 entityBuilderMap 变量是静态的吗?
  • 私有静态地图, AbstractBuilder>> entityBuilderMap;是的,它是静态的。

标签: java


【解决方案1】:

将实例中的值分配给静态变量是一种糟糕的设计实践。这可能会导致您在未来遇到错误和问题。作为程序员,我们期望静态方法分配静态值。如果我们有两个不同的实例为程序员分配该值,您会认为实例正在更改不同的值,但它是相同的。这是非常危险的。

您可以在此 SO 线程中阅读有关的详细说明。

Writing to a static variable in an instance method, why is this a bad practice?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2019-10-25
    相关资源
    最近更新 更多