Recentemente ho lavorato sugli avvisi di FindBugs sull'esposizione dello stato interno, vale a dire quando veniva restituito un riferimento a un array invece di restituire una copia dell'array. Ho creato alcuni modelli per rendere più semplice la conversione di quel codice.Modelli di editor per la programmazione difensiva
Quale è stato creato per supportare la programmazione difensiva e desidera condividere con la folla SO?
modelli che ho creato finora (a titolo di esempio):
Per creare una copia di un array di ritorno da un metodo:
Per clonare un oggetto:
(${o}!= null?(${type})${o}.clone():null)
Non
Invertirei l'inizializzazione "boolean res" e il test di uguaglianza di classe. Quindi il codice "else" può essere spostato nella clausola "then". Penso che sia più facile da capire e meno incline agli errori. –
@Randy: modello fisso – VonC
Ma questo modello funziona solo se la classe implementa Comparable, giusto? Tutte le tue lezioni implementano Comparable? In tal caso, quali sono i vantaggi e ne vale la pena? – dhiller