Code cleanup
Aspect of computer programming
- 5 min read
- 3 chapters
Related on Lably
Through Python (programming language), JavaScript and Java (programming language)
Examples
C++
In C++, code cleanup involves deallocating previously allocated dynamic memory.
This is usually done with the C++ delete and delete[] operations.
<span id="mwGQ"></span><span class="kt" id="mwGg">int</span><span class="w" id="mwGw"> </span><span class="n" id="mwHA">x</span><span class="w" id="mwHQ"> </span><span class="o" id="mwHg">=</span><span class="w" id="mwHw"> </span><span class="mi" id="mwIA">15</span><span class="p" id="mwIQ">;</span> <span class="kt" id="mwIg">int</span><span class="o" id="mwIw">*</span><span class="w" id="mwJA"> </span><span class="n" id="mwJQ">mySequence</span><span class="w" id="mwJg"> </span><span class="o" id="mwJw">=</span><span class="w" id="mwKA"> </span><span class="k" id="mwKQ">new</span><span class="w" id="mwKg"> </span><span class="kt" id="mwKw">int</span><span class="p" id="mwLA">[</span><span class="n" id="mwLQ">x</span><span class="p" id="mwLg">];</span> <span class="k" id="mwLw">for</span><span class="w" id="mwMA"> </span><span class="p" id="mwMQ">(</span><span class="kt" id="mwMg">int</span><span class="w" id="mwMw"> </span><span class="n" id="mwNA">i</span><span class="w" id="mwNQ"> </span><span class="o" id="mwNg">=</span><span class="w" id="mwNw"> </span><span class="mi" id="mwOA">0</span><span class="p" id="mwOQ">;</span><span class="w" id="mwOg"> </span><span class="n" id="mwOw">i</span><span class="w" id="mwPA"> </span><span class="o" id="mwPQ"><</span><span class="w" id="mwPg"> </span><span class="n" id="mwPw">x</span><span class="p" id="mwQA">;</span><span class="w" id="mwQQ"> </span><span class="n" id="mwQg">i</span><span class="o" id="mwQw">++</span><span class="p" id="mwRA">)</span><span class="w" id="mwRQ"> </span><span class="p" id="mwRg">{</span> <span class="w" id="mwRw"> </span><span class="n" id="mwSA">mySequence</span><span class="p" id="mwSQ">[</span><span class="n" id="mwSg">i</span><span class="p" id="mwSw">]</span><span class="w" id="mwTA"> </span><span class="o" id="mwTQ">=</span><span class="w" id="mwTg"> </span><span class="mi" id="mwTw">0</span><span class="p" id="mwUA">;</span> <span class="p" id="mwUQ">}</span> <span class="n" id="mwUg">mySequence</span><span class="p" id="mwUw">[</span><span class="mi" id="mwVA">0</span><span class="p" id="mwVQ">]</span><span class="w" id="mwVg"> </span><span class="o" id="mwVw">=</span><span class="w" id="mwWA"> </span><span class="mi" id="mwWQ">-127</span><span class="p" id="mwWg">;</span> <span class="k" id="mwWw">delete</span><span class="p" id="mwXA">[]</span><span class="w" id="mwXQ"> </span><span class="n" id="mwXg">mySequence</span><span class="p" id="mwXw">;</span>PHP
In PHP there is the unset function.
<span id="mwag"></span><span class="nv" id="mwaw">$foo</span> <span class="o" id="mwbA">=</span> <span class="mi" id="mwbQ">123</span><span class="p" id="mwbg">;</span> <span class="nb" id="mwbw">unset</span><span class="p" id="mwcA">(</span><span class="nv" id="mwcQ">$foo</span><span class="p" id="mwcg">);</span>
Python
In Python 3, explicit deletion of variables requires the del keyword.
<span id="mwfg"></span><span class="n" id="mwfw">x</span> <span class="o" id="mwgA">=</span> <span class="mi" id="mwgQ">15</span> <span class="n" id="mwgg">my_sequence</span> <span class="o" id="mwgw">=</span> <span class="p" id="mwhA">[</span><span class="mi" id="mwhQ">0</span> <span class="k" id="mwhg">for</span> <span class="n" id="mwhw">useless_variable</span> <span class="ow" id="mwiA">in</span> <span class="nb" id="mwiQ">range</span><span class="p" id="mwig">(</span><span class="n" id="mwiw">x</span><span class="p" id="mwjA">)]</span> <span class="n" id="mwjQ">my_sequence</span><span class="p" id="mwjg">[</span><span class="mi" id="mwjw">0</span><span class="p" id="mwkA">]</span> <span class="o" id="mwkQ">=</span> <span class="o" id="mwkg">-</span><span class="mi" id="mwkw">127</span> <span class="k" id="mwlA">del</span> <span class="n" id="mwlQ">my_sequence</span>
JavaScript
In JavaScript, objects are garbage collected if they are unreachable from the global object. One way to make an object unreachable is to overwrite the variables or properties that reference it.
<span id="mwnw"></span><span class="kd" id="mwoA">let</span><span class="w" id="mwoQ"> </span><span class="nx" id="mwog">x</span><span class="w" id="mwow"> </span><span class="o" id="mwpA">=</span><span class="w" id="mwpQ"> </span><span class="p" id="mwpg">{};</span><span class="w" id="mwpw"> </span><span class="c1" id="mwqA">// The variable x is declared and set to an object</span> <span class="nx" id="mwqQ">x</span><span class="w" id="mwqg"> </span><span class="o" id="mwqw">=</span><span class="w" id="mwrA"> </span><span class="kc" id="mwrQ">null</span><span class="p" id="mwrg">;</span><span class="w" id="mwrw"> </span><span class="c1" id="mwsA">// x is overwritten and the object becomes unreachable</span>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.
<span id="mwuw"></span><span class="kt" id="mwvA">int</span><span class="w" id="mwvQ"> </span><span class="n" id="mwvg">x</span><span class="w" id="mwvw"> </span><span class="o" id="mwwA">=</span><span class="w" id="mwwQ"> </span><span class="mi" id="mwwg">15</span><span class="p" id="mwww">;</span> <span class="kt" id="mwxA">int</span><span class="o" id="mwxQ">[]</span><span class="w" id="mwxg"> </span><span class="n" id="mwxw">my_sequence</span><span class="w" id="mwyA"> </span><span class="o" id="mwyQ">=</span><span class="w" id="mwyg"> </span><span class="k" id="mwyw">new</span><span class="w" id="mwzA"> </span><span class="kt" id="mwzQ">int</span><span class="o" id="mwzg">[</span><span class="n" id="mwzw">x</span><span class="o" id="mw0A">]</span><span class="p" id="mw0Q">;</span> <span class="k" id="mw0g">for</span><span class="w" id="mw0w"> </span><span class="p" id="mw1A">(</span><span class="kt" id="mw1Q">int</span><span class="w" id="mw1g"> </span><span class="n" id="mw1w">i</span><span class="w" id="mw2A"> </span><span class="o" id="mw2Q">=</span><span class="w" id="mw2g"> </span><span class="mi" id="mw2w">0</span><span class="p" id="mw3A">;</span><span class="w" id="mw3Q"> </span><span class="n" id="mw3g">i</span><span class="w" id="mw3w"> </span><span class="o" id="mw4A"><</span><span class="w" id="mw4Q"> </span><span class="n" id="mw4g">x</span><span class="p" id="mw4w">;</span><span class="w" id="mw5A"> </span><span class="n" id="mw5Q">i</span><span class="o" id="mw5g">++</span><span class="p" id="mw5w">)</span><span class="w" id="mw6A"> </span><span class="p" id="mw6Q">{</span> <span class="w" id="mw6g"> </span><span class="n" id="mw6w">my_sequence</span><span class="o" id="mw7A">[</span><span class="n" id="mw7Q">i</span><span class="o" id="mw7g">]</span><span class="w" id="mw7w"> </span><span class="o" id="mw8A">=</span><span class="w" id="mw8Q"> </span><span class="mi" id="mw8g">0</span><span class="p" id="mw8w">;</span> <span class="p" id="mw9A">}</span> <span class="n" id="mw9Q">my_sequence</span><span class="o" id="mw9g">[</span><span class="mi" id="mw9w">0</span><span class="o" id="mw-A">]</span><span class="w" id="mw-Q"> </span><span class="o" id="mw-g">=</span><span class="w" id="mw-w"> </span><span class="o" id="mw_A">-</span><span class="mi" id="mw_Q">127</span><span class="p" id="mw_g">;</span> <span class="n" id="mw_w">my_sequence</span><span class="w" id="mwAQA"> </span><span class="o" id="mwAQE">=</span><span class="w" id="mwAQI"> </span><span class="kc" id="mwAQM">null</span><span class="p" id="mwAQQ">;</span>Sign in to keep reading
2 more chapters are free with a Lably account.
Other meanings
Code cleanup can also refer to the removal of all source code comments 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. 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.
Loop cleanup
Another technical term sometimes called "code cleanup" is loop cleanup.
<span id="mwAR8"></span><span class="sr" id="mwASA">/* 'The i++ part is the cleanup for the for loop.' */</span> <span class="k" id="mwASE">for</span><span class="w" id="mwASI"> </span><span class="n" id="mwASM">i</span><span class="w" id="mwASQ"> </span><span class="o" id="mwASU">=</span><span class="w" id="mwASY"> </span><span class="mi" id="mwASc">0</span><span class="p" id="mwASg">;</span><span class="w" id="mwASk"> </span><span class="n" id="mwASo">i</span><span class="w" id="mwASs"> </span><span class="o" id="mwASw"><</span><span class="w" id="mwAS0"> </span><span class="mi" id="mwAS4">100</span><span class="p" id="mwAS8">;</span><span class="w" id="mwATA"> </span><span class="n" id="mwATE">i</span><span class="o" id="mwATI">++</span> <span class="w" id="mwATM"> </span><span class="nb" id="mwATQ">print</span><span class="w" id="mwATU"> </span><span class="n" id="mwATY">i</span> <span class="k" id="mwATc">end</span> <span class="n" id="mwATg">import</span><span class="w" id="mwATk"> </span><span class="n" id="mwATo">type</span> <span class="n" id="mwATs">list</span><span class="w" id="mwATw"> </span><span class="o" id="mwAT0">=</span><span class="w" id="mwAT4"> </span><span class="o" id="mwAT8">[</span><span class="mi" id="mwAUA">10</span><span class="p" id="mwAUE">,</span><span class="w" id="mwAUI"> </span><span class="mi" id="mwAUM">20</span><span class="p" id="mwAUQ">,</span><span class="w" id="mwAUU"> </span><span class="mi" id="mwAUY">30</span><span class="p" id="mwAUc">,</span><span class="w" id="mwAUg"> </span><span class="mi" id="mwAUk">40</span><span class="p" id="mwAUo">,</span><span class="w" id="mwAUs"> </span><span class="mi" id="mwAUw">50</span><span class="o" id="mwAU0">]</span> <span class="sr" id="mwAU4">/* 'Even in a for each loop, code cleanup with an incremented variable is still needed.' */</span> <span class="n" id="mwAU8">i</span><span class="w" id="mwAVA"> </span><span class="o" id="mwAVE">=</span><span class="w" id="mwAVI"> </span><span class="mi" id="mwAVM">0</span> <span class="k" id="mwAVQ">for</span><span class="w" id="mwAVU"> </span><span class="n" id="mwAVY">each</span><span class="w" id="mwAVc"> </span><span class="n" id="mwAVg">element</span><span class="w" id="mwAVk"> </span><span class="n" id="mwAVo">of</span><span class="w" id="mwAVs"> </span><span class="n" id="mwAVw">list</span> <span class="w" id="mwAV0"> </span><span class="n" id="mwAV4">list</span><span class="o" id="mwAV8">[</span><span class="n" id="mwAWA">i</span><span class="o" id="mwAWE">]</span><span class="w" id="mwAWI"> </span><span class="o" id="mwAWM">^=</span><span class="w" id="mwAWQ"> </span><span class="mi" id="mwAWU">2</span><span class="w" id="mwAWY"> </span><span class="o" id="mwAWc">//</span><span class="w" id="mwAWg"> </span><span class="s1" id="mwAWk">'Squares the element.'</span> <span class="w" id="mwAWo"> </span><span class="nb" id="mwAWs">print</span><span class="w" id="mwAWw"> </span><span class="n" id="mwAW0">string</span><span class="p" id="mwAW4">(</span><span class="n" id="mwAW8">element</span><span class="p" id="mwAXA">)</span><span class="w" id="mwAXE"> </span><span class="o" id="mwAXI">+</span><span class="w" id="mwAXM"> </span><span class="s2" id="mwAXQ">" is now... "</span><span class="w" id="mwAXU"> </span><span class="o" id="mwAXY">+</span><span class="w" id="mwAXc"> </span><span class="n" id="mwAXg">string</span><span class="p" id="mwAXk">(</span><span class="n" id="mwAXo">list</span><span class="o" id="mwAXs">[</span><span class="n" id="mwAXw">i</span><span class="o" id="mwAX0">]</span><span class="p" id="mwAX4">)</span> <span class="w" id="mwAX8"> </span><span class="n" id="mwAYA">i</span><span class="o" id="mwAYE">++</span> <span class="k" id="mwAYI">end</span>
Other Resources
- HTML Code Cleanup
- Formatting and Cleaning Up Code
- Resharper Code Cleanup
- Code Formatter

