Varios problemas comunes de búsqueda de errores

1. Bloqueo USFW_UNSYNCHRONIZED_SINGLETON_FIELD_WRITES
2. Detalles de registro WEM_WEAK_EXCEPTION_MESSAGING

     Por ejemplo, el registro de registro es el siguiente, log.info ("archivo no encontrado"), esta información es muy abstracta, necesitamos agregar información sobre qué archivo no se puede encontrar, log.info ("archivo {} no encontrado .", archivo). La información variable debe agregarse al registro mediante sustitución de variables.

3. EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC La clase base tiene la anotación @Data y la subclase también tiene la anotación @Data
4. NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
      desDirPath = zipPath.getParent().toAbsolutePath().toString()
      ;

if (StringUtils.isNotBlank(zipPath)) {
    String parentPath = zipPath.getParent();
    if (StringUtils.isNotBlank(parentPath)) {
    
       String absPath = parentPath.toAbsolutePath();
       if (StringUtils.isNotBlank(absPath)) {
          desDirPath = absPath.toString();
       }
    }
}

5. IS2_INCONSISTENT_SYNC necesita sincronizarse, agregue directamente la palabra clave sincronizada a la declaración del método.
6. WMI_WRONG_MAP_ITERATOR usa EntrySet para atravesar

7. LSC_LITERAL_STRING_COMPARISON
      if (childProp != null && !childProp.equals("")) { // Poner "" delante

       Aunque se consideró que childProp no es nulo, será mejor que desarrollemos este hábito. La información constante debe definirse al principio y la comparación aquí debe avanzar en la constante "". En términos generales, se recomienda utilizar algunas herramientas y métodos, aquí StringUtils.isNotBlank (childProp) se puede completar con una línea de código.

8. SIC_INNER_SHOULD_BE_STATIC_ANON No utilice clases internas anónimas.

9. Si se lanza una excepción dentro de la clase DRE_DECLARED_RUNTIME_EXCEPTION, el método no debe declarar que se lanza una excepción.
10. UTWR_USE_TRY_WITH_RESOURCES maneja el cierre de un recurso cerrado automáticamente.

      Usando el método try(){}catch(){} para operar la transmisión, es decir, probar con recursos, no es necesario cerrar la transmisión manualmente.

11. Problema de un solo carácter UCPM_USE_CHARACTER_PARAMETERIZED_METHOD

El método pasa una cadena constante de longitud 1 al método anulado de caracteres.
Este método pasa una cadena literal constante de longitud 1 como parámetro de un método, cuando se expone un método similar que toma un carácter. 
Es más sencillo y conveniente manejar un carácter, en lugar de una cadena.

    En StringBuffer y StringBuilder agregando operaciones de cadena, si encuentra una sola cadena, como " " o "a", si todavía usa sb.append("") o sb.append("a"), generalmente se recomienda use sb .append('') o sb.append('a') en su lugar, aunque los dos métodos son similares, todavía existen diferencias, uno es una cadena y el otro es un carácter. Cuando se usa el método string indexOf (), es similar, si es una sola cadena, también se recomienda usar caracteres para encontrar el índice.

Supongo que te gusta

Origin blog.csdn.net/feinifi/article/details/131737461
Recomendado
Clasificación