Essay 26 Sniff Out Bad Complexity

Bad complexity is complexity that just doesn’t have to be there.

That’s not always easy to spot. Sometimes even the pieces we think have to be there really don’t. This happened even to Thomas Jefferson.

In 1776, Jefferson sat on the committee that drafted the Declaration of Independence. The committee gave him the privilege of writing the first draft. When the draft was completed, he sent it to his friend, Benjamin Franklin, for review. Franklin returned the draft with much of Jefferson’s clever language erased.

Jefferson was none too happy, but Franklin tried to convince his friend why this was for the better. Franklin told him this story:

When I was a journeyman printer, one of my companions, an apprentice hatter, having served out his time, was about to open shop for himself.

His first concern was to have a handsome signboard, with a proper inscription. He composed it in these words:

“John Thompson, Hatter, makes and sells hats for ready money”

with a figure of a hat subjoined; but he thought he would submit it to his friends for their amendments.

The first he showed it to thought the word “Hatter” tautologous, because it was followed by the words “makes hats,” which showed he was a hatter. It was struck out.

The next observed that the word “makes” might as well be omitted, because his customers would not care who made the hats. If good and to their mind, they would buy them, by whomsoever made. He struck it out.

A third said he thought the words “for ready money” were useless, because it was not the custom of the place to sell on credit. Everyone who purchased expected to pay. They were parted with, and the inscription now stood, “John Thompson sells hats.”

“Sells hats!” says the next friend. “Why, nobody will expect you to give them away. What then is the use of that word?” It was stricken out, and “hats” followed it, as there was one painted on the board.

So, the inscription was reduced ultimately to “John Thompson,” with the figure of a hat subjoined.[10]

Plenty of software could take a cue from the hatter’s sign. Does this button need to be there? Is this line of copy adding anything of value, or is it merely repeating something else that’s already there? Does this new feature actually help make the task easier?

Consider what you could possibly remove from your software and still have it function the same.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.140.242.165