当前位置: 首页 > 知识库问答 >
问题:

声纳要求让这个领域最终

裴英才
2023-03-14

我的程序中有下面的代码,在与Maven集成后,我正在运行SonarQube 5进行代码质量检查。我面临着这个错误

将此“publicstaticprocessstatus”字段设为最终字段。

将此“公共静态processStatusId”字段设为最终字段

但我不想让这成为最后的结果。还有其他解决办法吗?

public abstract class ProcessStatusListPO_ {
    private ProcessStatusListPO_() {
        
    }

    public static volatile SingularAttribute<ProcessStatusListPO, String> processStatus ;
    public static volatile SingularAttribute<ProcessStatusListPO, Long> processStatusId ;
}

共有2个答案

岳嘉石
2023-03-14

如果假设变量在所有上下文中都是唯一的,那么

公共静态最终状态;

  • 这样您就需要变量的实例。
  • 或放置注释
@SuppressWarnings(value = { "CWE-580" })
  • 那样我就可以用了
  • 如果有人有其他更优雅的解决方案,请发送给我们。
潘灵均
2023-03-14

Sonar抱怨说您不应该使用可变状态,但您不想遵循这个建议。因此,您的选择是:忽略警告或遵循建议,即使您不想这样做。遵循建议并不意味着在其中添加“final”(因为在这种情况下没有意义),而是重新设计代码以使其更好。

您可以忽略使用已经解释过的抑制警告。如果你想遵循这个建议,你需要用不同的方式重新设计你的代码。

除了您发布的代码之外,我们不知道您的代码,因此我们无法确定您应该如何重新设计它。但是,建议这样做。至于原因,你可以在这里读到:为什么全球国家如此邪恶?

 类似资料:
  • 我有一个项目,我正在通过GSON和Volley阅读一些json。我想把我的数据保存在数据库中,我希望Realm是一个好的解决方案。我选择了我的第一个类,它有七个成员变量,所有的Strings和int,并让它扩展RealmObject,并将其中一个int确定为主键。它编译得很好,但是当它运行时,我在日志中得到大量的输出,最终应用程序在显示主要活动之前就崩溃了。GSON似乎不喜欢解析扩展了RealmO

  • 问题内容: 我想和詹金斯建立声纳。但是我不确定Sonar网站是否描述了两种不同的方法来执行此操作,或者是否有两个必要步骤: 据我了解,这是两种不同的方式。如果是这样的话,(Sonar本身和Sonar跑步者之间)有什么区别以及优点和缺点是什么? 问题答案: 如果要使用SonarQube和Jenkins分析项目,则需要满足以下条件: SonarQube服务器启动并运行 安装并运行SonarQube S

  • 3.6 ABP领域层 - 领域事件 在C#中,一个类可以定义其专属的事件并且其它类可以注册该事件并监听,当事件被触发时可以获得事件通知。这对于对于桌面应用程序或独立的Windows Service来说非常有用。但是, 对于Web应用程序来说会有点问题,因为对象是根据请求(request)被创建并且它们的生命周期都很短暂。我们很难注册其它类别的事件。同样地,直接注册其它类别的事件也造成了类之间的耦合

  • 3.4 ABP领域层 - 领域服务 3.4.1 简介 领域服务(或者服务,在DDD模式中)是被用来执行领域操作或者业务规则的。Eric Evans 在他的DDD书中这样说过:一个好的Service应该有以下三个特征: 与领域概念相关的操作不是Entity或Value Object 的一个自然部分; 接口是根据领域模型的其它元素定义的; 操作是无状态的。 领域服务和Application Servi

  • 我在科特林开始了我的第一个Android项目。官方文件建议我使用我使用的房间。 在添加空间后,我无法编译我的项目。 关于错误的额外信息 kotlin 和 room 的版本是: ext.kotlin_version='1.2.31' ext.room_version='1.0.0' 我的 gradle.build 依赖项如下所示: 我还在文件顶部添加了: 这是我的刀: 我尝试的是: 更改静态编程语言

  • 问题内容: 我需要从两个领域获得最大的价值: 现在,我如何从这两个中获得最大的价值? 问题答案: 您可能需要使用以下功能: 如果要从所有行中获取绝对最大值,则可能需要使用以下内容: 范例1: 范例2: