Revisione codice - Note sul rilascio


1.0 Problemi noti
   1.1 Origine in determinati pacchetti non revisionata correttamente
   1.2 Numero di riga non sempre visualizzato
   1.3 Le variabili dei dati interni delle classi JSDK o J2EE non dovrebbero apparire nel percorso del flusso di dati
   1.4 Impossibile impostare la profondità su un valore negativo nelle regole di Principi di progettazione / Complessità
   1.5 Problemi di codifica durante la creazione di una regola utilizzando caratteri non US ASCII nei parametri
   1.6 Stato delle attività non riportato correttamente per le regole dell'analisi strutturale
   1.7 Nella vista principale i pulsanti Arresta/Avvia si sovrappongono
   1.8 La correzione rapida per la regola "Evitare l'uso di java.lang.String.compareTo () per paragonare le stringhe che rilevano la differenza tra diverse impostazioni internazionali" propone soluzioni non corrette
   1.9 Problema con alcune istanze della regola di modello J2EE: [method A] sempre richiamato dopo il [method B]
   1.10 Problema potenziale con la regola di modello J2EE: [methodA] sempre richiamato dopo il [methodB]
   1.11 Falso positivo per regola di definizione metodo definita dall'utente
   1.12 Modelli che utilizzano un metodo non funzionanti all'immissione del nome metodo
   1.13 Finestra di errore visualizzata durante la configurazione dei dati server
   1.14 Problemi con la pagina Preferenze in Linux OS

1.0 Problemi noti

1.1 Origine in determinati pacchetti non revisionata correttamente

L'origine contenuta nei seguenti pacchetti non verrà revisionata da alcune delle regole delle migliori procedure J2EE.
1. com.ibm
2. COM.ibm
3. sun
4. sunw
5. java
6. javax
7. org.apache
8. com.sun
9. org.omg
10. org.ietf
11. org.w3c
12. org.xml

1.2 Numero di riga non sempre visualizzato

Nella vista Revisione codice, il numero di riga non viene sempre visualizzato per alcuni rilevamenti rilevati dalle regole delle migliori procedure J2EE. Facendo doppio clic sul rilevamento, viene visualizzato il numero di riga corretto.

1.3 Le variabili dei dati interni delle classi JSDK o J2EE non dovrebbero apparire nel percorso del flusso di dati

I percorsi dei flussi di dati mostrano la cronologia delle dipendenze delle modifiche ai dati che creano un problema, a sua volta evidenziato da una rilevazione regola. I percorsi dei flussi di dati sono visualizzati nella scheda Percorso. A volte il percorsi dei flussi di dati mostrano strutture di dati interne presenti nelle classi JSDK o J2EE. Ad esempio, piuttosto che indicare che una variabile di tipo java.lang.Vector è stata modificata, verrà indicato che è stata modificata la variabile java.lang.Object[]variable. Questo è un campo interno dell'implementazione java.lang.Vector e la visualizzazione di questa informazione privata nella scheda potrebbe causare confusione.

1.4 Impossibile impostare la profondità su un valore negativo nelle regole di Principi di progettazione / Complessità

Nella categoria di regole Principi di progettazione, è possibile impostare la profondità delle regole di complessità. Ad esempio, è possibile impostare la regola "Impedisci nidificazione a più di 1 classe" su "Impedisci nidificazione a più di 3 classi". Affinché la regola funzioni correttamente, è necessario indicare la profondità mediante un numero positivo. Tuttavia, le regole di complessità attualmente non assicurano, che la profondità sia impostata su un numero positivo. Per evitare questo problema, non immettere input non validi, ad esempio zero o un numero negativo.

1.5 Problemi di codifica durante la creazione di una regola utilizzando caratteri non US ASCII nei parametri

Quando si crea una regola da un modello che utilizza caratteri non US ASCII nei rispettivi parametri, si verificano problemi di codifica. Questo accade, ad esempio, quando viene selezionato un tipo o un metodo con caratteri locali. Poiché si tratta di un problema di codifica, quando vengono eseguite le regole create con queste proprietà e con caratteri non US ASCII, viene prodotta un'eccezione.

1.6 Stato delle attività non riportato correttamente per le regole dell'analisi strutturale

Il processo della revisione del codice non viene riportato correttamente per le regole dell'analisi strutturale (ovvero, la finestra dello stato delle attività indica sempre un progresso del 100%). Sarà necessario attendere il completamento della revisione del codice.

1.7 Nella vista principale i pulsanti Arresta/Avvia si sovrappongono

A volte, all'avvio della revisione del codice, il pulsante Avvia/Arresta mostra un'icona che rappresenta una combinazione dei due pulsanti.

1.8 La correzione rapida per la regola "Evitare l'uso di java.lang.String.compareTo () per paragonare le stringhe che rilevano la differenza tra diverse impostazioni internazionali" propone soluzioni non corrette

La correzione rapida per la regola "Evitare l'uso di java.langString.compareTo () per confrontare le stringhe che rilevano la differenza tra le impostazioni internazionali" propone due soluzioni per correggere il problema indicato dalla regola. La soluzione che suggerisce di <Utilizzare com.ibm.icu.text.Collator> non è corretta. La soluzione dovrebbe essere <Utilizzare java.text.Collator>.

1.9 Problema con alcune istanze della regola di modello J2EE: [method A] sempre richiamato dopo il [method B]

Se si crea una nuova regola con il modello regole J2EE "Richiama sempre [methodA] dopo [methodB]", se [methodB] è un costruttore predefinito nello spazio di lavoro, quando la regola viene eseguita in una revisione codice, non produrrà alcun rilevamento.

1.10 Problema potenziale con la regola di modello J2EE: [methodA] sempre richiamato dopo il [methodB]

Quando si crea una nuova regola per un'istanza di un oggetto specifico dalla regola di modello delle migliori procedure J2EE: "Richiama sempre [methodA] dopo [methodB]", potrebbero essere generati rilevamenti di regola non corretti nel caso specifico successivo per il quale si definisce la regola. Selezionando i metodi dal modello "Richiama sempre [methodA] dopo [methodB]" dove, nel codice J2EE, le istanze dell'oggetto dei metodi hanno un ciclo vitale più lungo del ciclo vitale del server analizzato, è possibile che si incontrino rilevamenti di regole non corretti. Ad esempio, considerare il seguente codice:

public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {

// Some code here.... final ServletOutputStream outStream = response.getOutputStream(); //... No call to response.flushBuffer after. }

per il quale è stata creata la regola: "Richiama sempre ServletResponse.flushBuffer() dopo ServletResponse.getOutputStream()". Poiché l'oggetto di risposta è un'istanza con un ciclo vitale più lungo dello stesso servlet, potrebbe verificarsi un problema per l'analisi della revisione del codice. È possibile che vengano visualizzati alcuni rilevamenti in altri servlet che riportano il problema del servlet corrente. Tenere presente che la creazione di regole per queste specifiche istanze di oggetti sono ambigue.

1.11 Falso positivo per regola di definizione metodo definita dall'utente

Se si crea una nuova regola utilizzando il modello regole "Evita definizione metodo" e si seleziona un metodo con un nome completo, nella revisione del codice verrà utilizzato solo il nome e i parametri del metodo. La parte attiva del modello di regole si trova nella firma dei metodi, quindi le informazioni sul pacchetto e non classe non hanno significato.

1.12 Modelli che utilizzano un metodo non funzionanti all'immissione del nome metodo

Quando si crea una nuova regola da un modello di regole fornito, non immettere il nome del metodo. Selezionare il metodo utilizzando il browser.

1.13 Finestra di errore visualizzata durante la configurazione dei dati server

Durante la configurazione dei dati del server, se viene visualizzata una finestra di errore, chiudere la pagina del file .java corrispondete (codice pagina) e tentare nuovamente a configurare i dati.

1.14 Problemi con la pagina Preferenze in Linux OS

In Linux, nella pagina Preferenze, potrebbe non essere possibile visualizzare tutte le categorie di regole e i dettagli quando la revisione di codice selezionata contiene un elevato numero di regole. Per risolvere questo problema, nella pagina Preferenze, selezionare la revisione codice rapida, chiudere la pagina Preferenze e riaprirla. Selezionando adesso la revisione codice, verrà visualizzata correttamente.

Visualizza il file Readme principale