Make the Invisible More Visible
Many aspects of invisibility are rightly lauded as software principles to uphold. Our terminology is rich in invisibility metaphors; mechanism transparency and information hiding to name but two. Software and the process of developing it is, to paraphrase Douglas Adams, "mostly invisible".
- Source code has no innate presence and doesn't obey the laws of physics. It's visible when loaded into an editor, but close the editor and it's gone. Think about it too long and like the tree falling down with no one to hear it you start to wonder if it exists at all!
- Most source code has no visual appearance in the final running product whatsoever. Either in quantity or quality. The goings on behind Google's home page, we can be sure, are substantial, and certainly not in proportion to the number of pixels its pleasingly minimal home page lights up.
But beware. Invisibility is dangerous. We find it easier to manage things when we can see them. We generally think better when we have something concrete to hang our thoughts on. All useful practices have a core technical purpose, but the really useful ones also help to make the invisible more visible.
- Testing. The difference between not testing and testing is like the difference between reading silently and reading aloud. Only reading aloud provides strong evidence that any reading is taking place at all.
Faith is belief without evidence. I don't recommend faith based development. It's better to develop software with plenty of visible evidence.
By Jon Jagger
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Programmer Should Know home page