Ho iniziato la mia avventura con Sonar;)UnnecessaryLocalBeforeReturn: perché è male?
Sonar con la configurazione predefinita ha PMD UnnecessaryLocalBeforeReturn impostato su livello principale.
List<Todo> filtered = em.createQuery(query).getResultList();
return filtered;
Significa che dovrei modificare questo codice sopra in una riga.
E 'davvero interessante per me perché mi raccomando i miei colleghi per rendere questo "inutile" locale prima di ritorno.
Penso che faciliti il debug. Quando imposto il breakpoint sulla linea di ritorno, sono sicuro che quando arriverò questo valore sarà pronto e non devo effettuare la selezione sulla mia affermazione o fare "Step over Expression".
Accanto credo che ha un impatto positivo sulla riduzione punti di ritorno nei metodi.
La mia domanda è: ci sono alcune specie di spiegazioni/discussioni perché gli errori da progetti come Checkstyle, PMD, FindBugs, ecc sono stati riconosciuti come errori?
Non è male, solo inutile. Questi strumenti di analisi statica non contrassegnano semplicemente i bug. Al contrario, forniscono toolbox per controllare tutti i tipi di cose, la cui selezione dipende dal tipo di software che si sta sviluppando. Il tuo progetto potrebbe richiedere che tu faccia tutto nel minor numero possibile di codici, o forse il tuo compilatore speciale non ottimizza questo caso e non puoi sostenere il ciclo di clock extra ... quindi questo controllo è per te. Altrimenti puoi tranquillamente spegnerlo. –
Questa è una buona domanda correlata: http://stackoverflow.com/questions/31733811/local-variables-before-return-statements-does-it-matter/31734226#31734226 –