title: Código redundante
text: # Código redundante
  
  En programación, se conoce como código redundante a cualquier parte del código fuente que tenga algún tipo de redundancia tales como recalcular un valor que ha sido calculado previamente y todavía está disponible.
  
  Una instrucción NOP podría ser considerado como código redundante que ha sido explícitamente insertado para rellenar el flujo de instrucciones o introducir un retardo de tiempo, por ejemplo para crear un bucle de temporización para "perder el tiempo". Los identificadores que se declaran, pero nunca se les hace referencia, se denominan declaraciones redundantes.
  
  ## Ejemplos
  
  En este ejemplo la instrucción int Y = X*2; puede ser eliminada para evitar calcular el valor dos veces, o también se puede retornar el valor de la variable Y (aunque particularmente este método consume más memoria).
  
  Considerando:
  
  Como consecuencia de usar el preprocesador de C el compilador escribirá la forma expandida:
  
  Provocando un código totalmente redundante e ineficiente, sin embargo debido a que los macros de máximo y mínimo son muy utilizados los compiladores modernos detectan estas situaciones y corrigen el código generado.
  
  ## Eliminación
  
  Existen técnicas de optimización de software comúnmente llevadas a cabo por un compilador optimizador para eliminar el código redundante del código fuente. La más común es la eliminación de código muerto.
  
  