Add new post: delete code
This commit is contained in:
parent
4eb13f1624
commit
5d31c5469e
1 changed files with 31 additions and 0 deletions
31
_posts/2023-07-07-delete-your-code.md
Normal file
31
_posts/2023-07-07-delete-your-code.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Delete your code
|
||||||
|
date: 2023-07-07 13:20 -0400
|
||||||
|
---
|
||||||
|
One of the most consistent things I have observed over the last two decades
|
||||||
|
while working with software engineering teams is an unwillingness to delete
|
||||||
|
code. Functions and files left long after they have been replaced. Hundred
|
||||||
|
line blocks of commented code held on to for years. Single purpose tasks kept
|
||||||
|
in place just in case. We developers are always planning for the worst.
|
||||||
|
|
||||||
|
Don't get me wrong. I have lived the same life. Leaving around treasure troves
|
||||||
|
of code I had carefully crafted just incase I needed it in the future. But what
|
||||||
|
if the worst thing that could happen is that we have given ourselves more code
|
||||||
|
to maintain. Or that we have left behind an outdated trail to follow that
|
||||||
|
influences are decisions despite drastically changed requirements. Or that the
|
||||||
|
dead code becomes a ticking time-bomb of likely untested code waiting to
|
||||||
|
accidentally be interpretted.
|
||||||
|
|
||||||
|
Code is only an asset when it is directly providing the required functionality.
|
||||||
|
Anything beyond that is a liability. Even if it is never run in production,
|
||||||
|
it still needs to be maintained. It needs to be reviewed and updated when
|
||||||
|
deprecations pop up, revisited when its automated tests start failing, or
|
||||||
|
breakfixed when it somehow halts the application boot cycle. Every line that
|
||||||
|
is not executed is maintenance cost waiting to be incurred that provides no
|
||||||
|
value.
|
||||||
|
|
||||||
|
These days, I aggressively delete lines of my code bases as much as the teams I
|
||||||
|
work with allow for. I strive for PRs that have more deletions than additions.
|
||||||
|
And if I ever really need that deleted piece of code? That is what version
|
||||||
|
control is for.
|
Loading…
Reference in a new issue