Saltar al contenido principal

Técnicas - Análisis Manual

2.1. La Técnica de las Preguntas Clave

Para cada unidad de código (método, clase, módulo), pregúntate:

  • ¿Hace una sola cosa?
  • ¿Su nombre refleja lo que hace?
  • ¿Es demasiado grande?
  • ¿Podría dividirse en partes más pequeñas?
  • ¿Tiene muchos niveles de anidamiento?
  • ¿Contiene lógica condicional compleja?
  • ¿Depende de muchas otras partes del sistema?
  • ¿Conoce detalles de implementación de otros componentes?
  • ¿Las partes están relacionadas entre sí?
  • ¿Tienen un propósito común?
  • ¿Es obvio lo que hace el código?
  • ¿Necesita comentarios para explicarlo?

2.2. Heurísticas Rápidas (Reglas Prácticas)

  • Regla del WTF: Si al leer código piensas "¿Qué diablos...?", probablemente hay un code smell
  • Regla de la línea vacía: Si necesitas separar secciones con líneas vacías, quizás deberían ser métodos separados
  • Regla del comentario: Si necesitas un comentario para explicar qué hace el código (no por qué), el código no es suficientemente expresivo
  • Regla del pulgar: Si cuesta más de un minuto entender lo que hace un método, hay un problema
  • Regla del highlighter: Si no puedes resaltar la funcionalidad principal en 7±2 líneas, el método hace demasiadas cosas

2.3. La Técnica del Revisor Externo

Imagina que explicas tu código a alguien que no está familiarizado con él:

  • ¿Qué partes te resultaría difícil explicar?
  • ¿Dónde te sentirías tentado a decir "ignora esta parte"?
  • ¿Qué partes te avergonzaría mostrar?

Esas son precisamente las áreas que probablemente contienen code smells.