String literals should not be duplicated

String literals should not be duplicated
 
Code smell
 
Critical
java:S1192
 
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.
Parameters
Following parameter values can be set in Rule Settings. In connected mode, server side configuration overrides local settings.
threshold  
Number of times a literal must be duplicated to trigger an issue
Current value: 3
Default value: 3

 

String literals should not be duplicated

上一篇:elementUI表单验证之------跳转第一个非法位置


下一篇:docker ps 报错 Got permission denied.......