Code cleanup
Code cleanup refers to the act of writing code so that it cleans up leftover data structures and other unwanted materials from memory and the filesystem. It is sometimes treated as a synonym of refactoring code, which involves making the source code itself easier to understand, maintain, and modify.[1]
Examples
C++
In C++, code cleanup involves deallocating previously allocated dynamic memory.
This is usually done with the C++ delete
and delete[]
operations.[2]
int x = 15;
int* mySequence = new int[x];
for (int i = 0; i < x; i++) {
mySequence[i] = 0;
}
mySequence[0] = -127;
delete[] mySequence;
Python
In Python 3, explicit deletion of variables requires the del
keyword.[3]
x = 15
my_sequence = [0 for useless_variable in range(x)]
my_sequence[0] = -127
del my_sequence
JavaScript
In JavaScript, objects are garbage collected if they are unreachable from the global object.[4] One way to make an object unreachable is to overwrite the variables or properties that reference it.
let x = {}; // The variable x is declared and set to an object
x = null; // x is overwritten and the object becomes unreachable
Java
In Java, variables cannot be truly deleted. The most that can be done is to set the variable to null
, which works with any Java object, including arrays.[5]
int x = 15;
int[] my_sequence = new int[x];
for (int i = 0; i < x; i++) {
my_sequence[i] = 0;
}
my_sequence[0] = -127;
my_sequence = null;
Other meanings
Code cleanup can also refer to the removal of all computer programming from source code, or the act of removing temporary files after a program has finished executing.
For instance, in a web browser such as Chrome browser or Maxthon, code must be written in order to clean up files such as cookies and storage.[6] The deletion of temporary files is similar to the deletion of unneeded lists and arrays of data. However, a file is treated as a permanent way to store a resizable list of bytes, and can also be removed from existence.[7]
Loop cleanup
Another technical term sometimes called "code cleanup" is loop cleanup.
/* 'The i++ part is the cleanup for the for loop.' */
for i = 0; i < 100; i++
print i
end
import type
list = [10, 20, 30, 40, 50]
/* 'Even in a for each loop, code cleanup with an incremented variable is still needed.' */
i = 0
for each element of list
list[i] ^= 2 // 'Squares the element.'
print string(element) + " is now... " + string(list[i])
i++
end