While working today, I thought of riding my bike. On my bike this afternoon, I was at work. Consider this project.
A construction crew is creating a building. It is an object composed of other objects, with names like board, nail, and pipe. They have attributes like soft, square, or pink. Some buildings suck when they are created without a plan. Other buildings rock because they have been cleverly designed.
Computer code creates objects composed of other objects with names like integer, array and function. They have attributes like bold, visible, and pink. Some code sucks and other code … well actually all code is crappy in the eye of another beholder.
To deconstruct a crappy building requires a permit, dump truck, a crew and a crowbar. Fixing crappy code requires a pinky finger and a backspace key.