Questa è una delle regole da analizzatore statico Googles CodePro Analytix:Gli array non devono essere inizializzati staticamente da un inizializzatore di array. Perché?
Sommario
array non devono essere inizializzate staticamente da un inizializzatore matrice.
Descrizione
Questa revisione controlli regola per le variabili di matrice che vengono inizializzate (sia nel inizializzatore o in un'istruzione di assegnazione) utilizzando un inizializzatore matrice.
Esempio
La seguente dichiarazione di matrice sarebbe contrassegnato a causa dell'uso di un inizializzatore array:
int[] values = {0, 1, 2};
Ora, posso disattivarlo se non mi piace, non è un problema. Ma mi chiedo perché questo dovrebbe essere un problema e quale sarebbe la soluzione per impedire che il codice venga contrassegnato dalla regola di controllo?
Sembra solo che ci sia un gruppo di regole predefinite che sono solo una questione di gusti in modo da poterlo configurare facilmente. Osservando [questo elenco] (https://developers.google.com/java-dev-tools/codepro/doc/features/audit/audit_rules_com.instantiations.assist.eclipse.auditGroup.codingStyle) trovo molte regole che Mi sembra infondato o persino discutibile. – Holger
questo ha senso –
Il verificatore verifica se l'array è const? Forse non vogliono valori che possono essere modificati in seguito andando in qualcosa di diverso dalla memoria dinamica dell'heap, a causa del potenziale di sovraccarico del buffer, che porta a falle nella sicurezza. – Marty