<p><a href="/daily/2024/08/31/make-it-work-then-make-it-good">Once you have working code</a>, you can refactor it to make it better.</p>
<p>You can rename variables, extract new functions or classes, ensure the code is styled and formatted correctly - anything to make the code easier to read, understand or maintain.</p>
<p>But, the key thing is the code still needs to work.</p>
<p>You don't want to break working code and introduce a regression, even if it is messy or difficult to read.</p>
<p>The best way I know to approach this is by having automated tests covering this code, and ensure they are working and passing before starting to refactor.</p>
<p>Then you can run the tests again and ensure they still pass.</p>
<p>If they pass, the code still works and the refactoring was successful.</p>
<p>If not, the code is broken and you need to revert the changes and start again.</p>
<p>You can rename variables, extract new functions or classes, ensure the code is styled and formatted correctly - anything to make the code easier to read, understand or maintain.</p>
<p>But, the key thing is the code still needs to work.</p>
<p>You don't want to break working code and introduce a regression, even if it is messy or difficult to read.</p>
<p>The best way I know to approach this is by having automated tests covering this code, and ensure they are working and passing before starting to refactor.</p>
<p>Then you can run the tests again and ensure they still pass.</p>
<p>If they pass, the code still works and the refactoring was successful.</p>
<p>If not, the code is broken and you need to revert the changes and start again.</p>