jueves, 29 de abril de 2010

Nuevas sugerencias (hints) de NB 6.9

He estado revisando el nuevo NetBeans 6.9 y he encontrado algunos interesantes hints.
  • No concatenar en un StringBuilder/StringBuffer
  • El logger debe ser final
  • Parametriza el logger, no lo concatenes


No concatenar en un StringBuilder/StringBuffer

Las reglas de rendimiento (y por definición) explica que es mejor usar la clase StringBuilder o StringBuffer para manipular cadenas que usar el mismo java.lang.String. ¿Por qué? Porque cada cadena es de por sí un objeto. Aún cuando se concatena, se está creando otro objeto. Y si se usa de manera indiscriminada, se puede saturar la memoria. Por tanto, es mejor usar StringBuilder o StringBuffer para concatenar, insertar, buscar, etc en una cadena. (La diferencia en ambas clases es que la primera no utiliza sincronización por lo que es más rápido el manejo de cadenas que la segunda)

Entonces... si en el NetBeans usando algo como esto:
       StringBuilder sb=new StringBuilder();
       String cad1="Hola",cad2="a",cad3="todos";
       sb.append(cad1);
       sb.append(" "+cad2+" "+cad3);
       sb.append("mis amigos");


... el IDE mostrará una sugerencia

 "Usar cadena de métodos .append en lugar de una concatenación de cadenas"

Hacemos clic ahí y...

El logger debe ser final

La clase java.util.Logger debe ser usada para mostrar mensajes en la pantalla, en lugar del System.out.println() y System.err.println() Pero debe ser declarada como final
Antes:

Después:

Parametriza el logger, no lo concatenes

Por costumbre tendemos a concatenar todo lo que se desea mostrar en la consola. Ya que no vamos a usar el System.out.println(), entonces concatenariamos en el logger? Veamos lo que nos dice el NetBeans:

Antes:


Después:


Más legible, no?

Hay muchos hints más. Lo puedes desactivar o no. Y estos se encuentran en Tools > Options, bajo el ficha Editor > Hints