Cover photo by Randy Fath via Unsplash
A young couple, happily married, is celebrating their first Thanksgiving together. The bride wants to cook her husband her family's classic turkey recipe, and asks her mother for the recipe.
Her mother sends her the recipe, and the woman cooks it to perfection. Even the breast-meat is perfectly tender and juicy. However, at the end, her husband remarks: "Darling, where are the legs? I always liked those best."
"There on the side," she tells him.
He picks around the bird, and he seems still confused, so she points them out to him. He asks, "but love, why are they shaped like this? They don't look like drumsticks to me. They're all... squashed-y?"
She says, "It's in the recipe. You take the legs off, take the bones out, and cook the meat on the side."
He still doesn't understand, but the turkey was very tasty, so he leaves it be.
The next day, the woman calls up her mother and asks, "So mom, about that turkey recipe. Why do we take the bones out and cook the meat on the side?"
Her mother replies, "Hm, I don't actually know why. Your grandmother just always did it that way, and it's her recipe."
The mother and grandmother are having a pleasant brunch one morning, and the question of the turkey comes up once more.
"Oh, right," says the mother. "Ma, I gave my daughter your turkey recipe, and she asked about the turkey legs."
"What about them?" asked the grandmother.
"Well, why do we cut them off, take the bones out, and cook the meat on the side?"
The grandmother bursts into gales of laughter. "I did that when you were a kid because my pan was too small to fit the whole turkey!"
At least, that's how it was related to me. There are many variations.
You've probably sussed out the moral of the story by now. But just to make sure we're all on the same page:
Imagine that the young woman had never asked, but instead had to hack some other rig together for her turkey. In several generations, what would this recipe look like? I don't think it would be quite as tasty if all those hasty fixes had been passed down as "I don't know why it works, don't touch it" over the generations.
So if you see some code, and you don't know how it works, you'll get a tastier... program? if you figure it out. It might be on StackOverflow or in your legacy codebase full of technical debt, but consider it your job to learn what it's doing.
Don't fall for the trap of copy-paste driven development!