Tech Debt (Brittle Class)
Jan. 5th, 2025 01:43 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Zoe's original song tells the story of a set of heirloom crystal glasses that become fewer in number but dearer to memory as time passes. In software development, classes (modules of code) can also break if they are not carefully looked after over time — although, especially in a large enterprise, their number is more likely to increase than to decrease. The term "tech debt" refers to the ongoing cost of keeping code up-to-date even when it isn't actively being worked on or even used.
The guitar work here is my best attempt to capture the feel of what Zoe is doing in some alternate tuning, some of the chords are mostly conjecture.
lyrics by Benjamin Newman
The guitar work here is my best attempt to capture the feel of what Zoe is doing in some alternate tuning, some of the chords are mostly conjecture.
lyrics by Benjamin Newman
ttto: "Elegy (Crystal Glass)" by Zoe Mulford
/ Am - G F G / Am C G E - /: D2 - - - / - - E - :/
This brittle class was written by the founder of our company
It was one of twelve that were built on Java 2
And it has unit tests, it has an interface
And docs that say precisely what it's supposed to do
A tidy bit of logic that contributes to the app
So why did no one see it was a trap? Hey—
/ Am - G D / D2 - D2e D2eg / D2e - D2eg - / C D2 Am - /
Classes may break if they haven't been maintained
Coders make mistakes, and requirements change
If you lock your code up in a vault
You won't know when it'll fail, or who's at fault
This brittle class was modded by an intern straight from code camp
One of sixty that were tweaked to compile on Java 8
And it has unit tests, it has an interface
And the docs are still online, but they're out of date
A developer might read them and still find it less than clear
Why this bit of code is even here; Hey—
Classes may break if they haven't been maintained
Teams and tools update, and environments change
Bring your colleagues and your code along
Or future you won't realize why it's wrong
/ D - Am - / D - D2 - / C - D2 - / - - Defg... /
So here's a toast to maintenance
Code that's well explained and comments that make sense
I understand this line
It used to run just fine
But not in the present tense...
This brittle class was marked by me on Wednesday for deletion
Leaving four hundred and two that run on Java 17
And it had unit tests, it had an interface
But to run the whole app now it takes a big machine
And something in this module made the whole thing really slow
After testing it I knew it had to go; Hey—
Classes may break if they haven't been maintained
Your whole stack's at stake, time to make a change
Abandoned code you haven't cleaned up yet
Costs time to mind — that's why we call it debt!