Redundant code
Unnecesary source code
In computer programming, redundant code is source code or compiled code that is unnecessary. Code that can be removed without affecting its desired behavior is redundant.
01Categories
Notable categories of redundant code include:
- Recomputing
- Calculating again a value that has previously been calculated and is still available.
- Dead code
- Code that is executed but has no external effect (i.e., does not change the output produced by a program).
- Unreachable code
- Code that is never executed (also called dead code).
- NOP padding
- A NOP instruction might be considered redundant if it is for padding. But if the NOP is required for proper functionality, then it is not redundant.
- Unused identifier
- Something declared, but never referenced, is a redundant declaration.
02Examples
In the following C code, the second x * 2 expression is redundant code. Line 2 can be removed, or alternatively, line 3 can be changed to return y;.
int foo(int x) { int y = x * 2; return x * 2; }A more subtle example involves the C preprocessor that inserts code before compilation. Consider:
#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)); }After preprocessing, the code expands to code that evaluates both a*a + b*b and c*c + d*d twice. To eliminate the duplicate code, the macro min could be converted to a function.
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))); }Sources and credits
This article is adapted from the Wikipedia article “Redundant code”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.