gpt4 book ai didi

java - 需要为字符串文字定义一个常量[SonarQube Smell]

转载 作者:行者123 更新时间:2023-12-02 01:50:31 25 4
gpt4 key购买 nike

我需要从 JSP 获取的字符串中删除多余的空格。在调用 setter 方法之前,我使用以下代码删除空格:

class_name=class_name.replaceAll("\\s{2,}", " ").trim();

Sonar 扫描给了我气味,说明定义了一个常量,而不是使用文字。如何将replaceAll参数中的内容放入常量中?并使用该常量作为参数。

Sonar 扫描结果:- 定义一个常量,而不是使用此“\s{2,}”文字 8 次。

最佳答案

为字符串文字(有时甚至是原始文字)定义常量并不总是有帮助。

在这种情况下,很难知道我会如何称呼该常量,这样它才有意义且更具可读性;并且可能会鼓励您对这两个参数执行相同的操作:

class_name.replaceAll(TWO_OR_MORE_SPACES_PATTERN, ONE_SPACE_REPLACEMENT).trim()

真的更好吗?我想说不会。

如果问题是您在很多地方使用相同的替换/修剪逻辑,请定义一个方法:

static String replaceSpacesAndStrip(String className) {
return className.replaceAll("\\s{2,}", " ").trim();
}

然后调用:

class_name = replaceSpacesAndStrip(class_name);

关于java - 需要为字符串文字定义一个常量[SonarQube Smell],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53042525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com