Analizadores de código: PMD y FindBugs

1. Respecto a la PMD:

1.1 ¿Cómo configuro las comprobaciones de PMD para ignorar algunas de ellas, como "El nombre de la variable es demasiado corto o demasiado largo", "Eliminar el constructor vacío, etc." y, si lo hago, aparece otra advertencia que dice que la clase debe Tienen algunos métodos estáticos. Básicamente, la clase estaba vacía, para un desarrollo posterior, y me gusta dejarlo así por ahora.

1.2 ¿Es necesario seguir este consejo de advertencia?

  A class which only has private constructors should be final

1.3 ¿Qué se supone que significa eso?

 The class 'Dog' has a Cyclomatic Complexity of 3 (Highest = 17)

1.4 ¿Qué hay de este? Me encantaría cambiar esto, pero nada cruza mi mente en este momento con respecto al cambio:

Assigning an Object to null is a code smell. Consider refactoring.

2. Respecto a FindBugs:

2.1 ¿Es realmente tan malo escribir en un campo estático, en algún momento posterior a su declaración? El siguiente código me da una advertencia:

Main.appCalendar = Calendar.getInstance();
Main.appCalendar.setTimeInMillis(System.currentTimeMillis());

dóndeappCalendar Es una variable estática.

2.2 Este código:

strLine = objBRdr.readLine().trim();

da la advertencia:

Immediate dereference of the result of readLine()

dóndeobjBRdr es unBufferedReader(FileReader). ¿Qué podría pasar?readLine() podria ser nulo? El código está anidado en.while (objBRdr.ready()) Prueba, y hasta ahora, tengo cero problemas allí.

Update1: 2.2 se corrigió cuando reemplacé el código con:

strLine = objBRdr.readLine();
    if (strLine != null) {
        strLine = strLine.trim();
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta