Fallos m‡s frecuentes
variables
11 leve variables innecesarias
12 medio variables reutilizadas una misma variable para dos usos diferentes
13 leve saco de variables mont—n de variables al principio para ir usando
14 leve ‡mbito excesivo el ‡mbito debe reducirse al m’nimo necesario
15 leve nombres cort’simos (i, j, k, ...) es admisible en ‡mbitos muy reducidos (ej. for) o si es notaci—n est‡ndar
16 leve nombres de variables que no empiezan con letra minœscula
17 leve nombres de mŽtodos que no empiezan con letra minœscula
18 leve nombres de clases que no empiezan con letra mayœscula
19 leve nombres de constantes que no empiezan con letra mayœscula
campos o variables de objeto
21 grave visibles (no privados) use getters y setters
22 medio excesivos no se necesitan entre llamadas sucesivas desde el exterior
23 medio excesivos se pueden sustituir por par‡metros
24 medio nombres cort’simos (i, j, k, ...) es admisible si es notaci—n est‡ndar
campos o variables de clase (static)
31 grave uso temporal por objetos cada objeto los usa independientemente
32 grave visibles (no privados) es admisible en constantes (final)
33 medio nombres cort’simos (i, j, k, ...) es admisible si es notaci—n universal est‡ndar (ej. pi, e, g, ...)
mŽtodos
41 leve nombres ad-hoc el nombre debe reflejar lo que hace el mŽtodo
42 leve mŽtodos muy largos programaci—n espagueti
43 medio muchos IF anidados deben hacerse mŽtodos separados
44 medio muchos bucles anidados deben hacerse mŽtodos separados
45 leve campos incorrectos en objetos nuevos los contructores deben dejar todos los campos con valores coherentes
c—digo
51 grave break innecesarios investigue si puede hacerse sin break
52 grave continue innecesarios investigue si puede hacerse sin continue
53 grave uso de == donde deber’a ser equals() Ej. if (s == "algo") ... if (s == "") ...
54 leve bloques (largos) de c—digo repetido debe intentarse extraer un mŽtodo, quiz‡s parametrizado
documentaci—n (javadoc)
61 grave clase sin comentarios
62 medio mŽtodos visibles sin javadoc
63 leve mŽtodos privados sin javadoc salvo que sea evidente
64 medio javadoc incompleto salvo que sea evidente
65 medio faltan @param salvo que sea evidente
66 medio faltan @throw salvo que sea evidente
67 medio falta @return salvo que sea evidente
68 leve sangrado ruinoso
69 medio sin sangrado