|
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 |
|