Simon Willison’s Weblog

Your documentation is complete when someone can use your module without ever having to look at its code. This is very important. This makes it possible for you to separate your module’s documented interface from its internal implementation (guts). This is good because it means that you are free to change the module’s internals as long as the interface remains the same.

Remember: the documentation, not the code, defines what a module does.

Ken Williams