Analizatory kodu: PMD i FindBugs

1. Odnośnie PMD:

1.1 Jak ustawić kontrole PMD, zignorować niektóre z nich, np. „Nazwa zmiennej jest zbyt krótka lub zbyt długa”, „Usuń pusty konstruktor itp.” - a jeśli to zrobię, pojawi się kolejne ostrzeżenie, że klasa musi mieć kilka metod statycznych. Zasadniczo klasa była pusta, na późniejszy rozwój i na razie lubię ją pozostawić w ten sposób.

1.2 Czy konieczne jest przestrzeganie tej porady ostrzegawczej?

  A class which only has private constructors should be final

1.3 Co to ma znaczyć?

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

1.4 Co z tym? Chciałbym to zmienić, ale w tej chwili nic nie przychodzi mi do głowy w związku ze zmianą:

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

2. Dotyczące FindBugs:

2.1 Czy naprawdę jest tak źle pisać w polu statycznym, w pewnym momencie później niż jego deklaracja? Poniższy kod ostrzega mnie:

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

gdzieappCalendar jest zmienną statyczną.

2.2 Ten kod:

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

podaje ostrzeżenie:

Immediate dereference of the result of readLine()

gdzieobjBRdr jestBufferedReader(FileReader). Co może się stać?readLine() może być null? Kod jest zagnieżdżony wwhile (objBRdr.ready()) test i jak dotąd nie mam tam żadnych problemów.

Aktualizacja1: 2.2 została naprawiona po zastąpieniu kodu przez:

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

questionAnswers(2)

yourAnswerToTheQuestion