Redundant 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.
Categories
Notable categories of redundant code include:
- Recomputing
- Calculating again a value that has previously been calculated[1] 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.
Examples
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)));
}
See also
- Code bloat – Production of unnecessarily long, slow or wasteful program code
- Code reuse – Using existing code in new software
- Common subexpression elimination – Compiler optimization
- Don't repeat yourself – Principle of software development
- Duplicate code – Repeated fragment of computer source code
- Redundancy (information theory) – Message encoded with more bits than needed
- Code refactoring – Restructuring existing computer code without changing its external behavior
- Code smell – Characteristic of source code that hints at a quality problem
References
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.