String literals should not be duplicated

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String literals should not be duplicated相关的知识,希望对你有一定的参考价值。

Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

Noncompliant Code Example

With the default threshold of 3:

public void run() {
  prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
  execute("action1");
  release("action1");
}

@SuppressWarning("all")                            // Compliant - annotations are excluded
private void method1() { /* ... */ }
@SuppressWarning("all")
private void method2() { /* ... */ }

public String method3(String a) {
  System.out.println("‘" + a + "‘");               // Compliant - literal "‘" has less than 5 characters and is excluded
  return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
}

Compliant Solution

private static final String ACTION_1 = "action1";  // Compliant

public void run() {
  prepare(ACTION_1);                               // Compliant
  execute(ACTION_1);
  release(ACTION_1);
}

Exceptions

To prevent generating some false-positives, literals having less than 5 characters are excluded.

以上是关于String literals should not be duplicated的主要内容,如果未能解决你的问题,请参考以下文章

Android studio2.2 ndk 错误 :format not a string literal and no format arguments!

react 使用 ref 报错 ,[eslint] Using string literals in ref attributes is deprecated. (react/no-string-

Method main should have no parameters

“page.should_not have_content”和“page.should have_no_content”之间的区别

ORA-01861: literal does not match format string

Python 3,ast.literal_eval(node_or_string) 中是不是有任何已知的安全漏洞?