That’s a question that I was confronted with numerous times while in the Army. I was always irritated and refused to use it myself when I because a non-commissioned officer because I found it a bit ridiculous (apparently barn-raised children aren’t careful to roll their t-shirts in 6-inch rolls, fail to catch scuff marks in polished floors, leave dirt in the rifle’s forward sights, etc). Lately, however, I’ve asked that question repeatedly to long-gone coders while working on their large legacy system. I’m puzzled by the degree to which obsolete code has been left in the code base. I’ve coined the phrase “Found another finger bone on a whale” to express just how bewildering it is to find various vestigial oddities while attempting to tame legacy software systems.
As I accrue experience in repairing and improving legacy systems I find myself approaching code-cleaning efforts with increasing urgency. Many developers seem to understand the value of producing well-formatted and organized code, but it seems few comprehend the danger keeping unused code. This is especially true when your system heavily uses reflection and declarative code.
“Code is your house, and you must live in it.” – Michael Feathers
As I accrue more experience