En programación informática , el código redundante es código fuente o código compilado que no es necesario. Se considera redundante el código que puede eliminarse sin afectar su comportamiento deseado.
Categorías
Entre las categorías más destacadas de código redundante se incluyen:
- Recalcular
- Calcular de nuevo un valor que ya se ha calculado [ 1 ] y que aún está disponible.
- Código muerto
- Código que se ejecuta pero no tiene ningún efecto externo (es decir, no cambia la salida producida por un programa).
- Código inalcanzable
- Código que nunca se ejecuta (también llamado código muerto).
- Relleno NOP
- Una instrucción NOP podría considerarse redundante si se utiliza para rellenar espacios. Pero si la instrucción NOP es necesaria para el correcto funcionamiento, entonces no es redundante.
- Identificador no utilizado
- Algo que se declara, pero al que nunca se hace referencia, es una declaración redundante.
Ejemplos
En el siguiente código C , la segunda x * 2expresión es código redundante. La línea 2 se puede eliminar o, alternativamente, la línea 3 se puede cambiar a return y;.
int foo ( int x ) {entero y = x * 2 ;devolver x * 2 ;}Un ejemplo más sutil involucra al preprocesador de C que inserta código antes de la compilación. Consideremos lo siguiente:
#define min(A,B) ((A)<(B)?(A):(B)) int shorter_magnitude ( int a , int b , int c , int d ) { return sqrt ( min ( a * a + b * b , c * c + d * d )); }Tras el preprocesamiento, el código se expande a un código que evalúa ambas operaciones a*a + b*bdos c*c + d*dveces. Para eliminar el código duplicado, la macro minpodría convertirse en una función.
int shorter_magnitude ( int a , int b , int c , int d ) { return sqrt ((( a * a + b * b ) < ( c * c + d * d ) ? ( a * a + b * b ) : ( c * c + d * d ))); }Véase también
- Exceso de código : Producción de código de programa innecesariamente largo, lento o ineficiente.
- Reutilización de código : uso de código existente en software nuevo.
- Eliminación de subexpresiones comunes : optimización del compilador
- No te repitas : principio del desarrollo de software
- Código duplicado : fragmento repetido de código fuente de computadora.
- Redundancia (teoría de la información) : mensaje codificado con más bits de los necesarios.
- Refactorización de código : Reestructuración del código informático existente sin cambiar su comportamiento externo.
- Mal olor del código : característica del código fuente que sugiere un problema de calidad.
Referencias
- ↑ Debray, SK, Evans, W., Muth, R., y De Sutter, B. 2000. Técnicas de compilación para la compactación de código. ACM Trans. Program. Lang. Syst. 22, 2 (marzo de 2000), 378–415.
- Optimizaciones del compilador
- Anomalías de software
- Código fuente